Ini seperti bowling dengan bumper. - @ippsec
AutoRecon adalah alat pengintaian jaringan multi-thread yang melakukan enumerasi layanan otomatis. Hal ini dimaksudkan sebagai alat penghemat waktu untuk digunakan dalam CTF dan lingkungan pengujian penetrasi lainnya (misalnya OSCP). Hal ini mungkin juga berguna dalam keterlibatan di dunia nyata.
Alat ini bekerja dengan terlebih dahulu melakukan pemindaian port/pemindaian deteksi layanan. Dari hasil awal tersebut, alat tersebut akan meluncurkan pemindaian enumerasi lebih lanjut dari layanan tersebut menggunakan sejumlah alat berbeda. Misalnya, jika HTTP ditemukan, feroxbuster akan diluncurkan (dan juga banyak lainnya).
Segala sesuatu di alat ini sangat dapat dikonfigurasi. Konfigurasi default tidak melakukan eksploitasi otomatis untuk menjaga alat tetap sejalan dengan aturan ujian OSCP. Jika Anda ingin menambahkan alat eksploitasi otomatis ke konfigurasi, risiko Anda tanggung sendiri. Penulis tidak bertanggung jawab atas tindakan negatif yang diakibatkan oleh penyalahgunaan alat ini.
Penafian: Meskipun AutoRecon berupaya melakukan identifikasi dan penghitungan layanan sebanyak mungkin, tidak ada jaminan bahwa setiap layanan akan teridentifikasi, atau bahwa setiap layanan akan dihitung sepenuhnya. Pengguna AutoRecon (khususnya pelajar) harus melakukan enumerasi manualnya sendiri bersama AutoRecon. Jangan hanya mengandalkan alat ini untuk ujian, CTF, atau tugas lainnya.
AutoRecon terinspirasi oleh tiga alat yang penulis gunakan selama lab OSCP: Reconnoitre, ReconScan, dan bscan. Meskipun ketiga alat tersebut berguna, tidak satu pun dari ketiga alat tersebut memiliki fungsi yang diinginkan. AutoRecon menggabungkan fitur terbaik dari alat yang disebutkan di atas sekaligus menerapkan banyak fitur baru untuk membantu penguji dalam menghitung beberapa target.
Ada tiga cara untuk menginstal AutoRecon: pipx, pip, dan secara manual. Sebelum pemasangan menggunakan salah satu metode ini, persyaratan tertentu harus dipenuhi. Jika Anda belum me-refresh cache apt Anda baru-baru ini, jalankan perintah berikut sehingga Anda menginstal paket terbaru yang tersedia:
sudo apt update
AutoRecon memerlukan penggunaan Python 3.8+ dan pip, yang dapat diinstal di Kali Linux menggunakan perintah berikut:
sudo apt install python3
sudo apt install python3-pip
Beberapa perintah yang digunakan dalam AutoRecon merujuk pada proyek SecLists, di direktori /usr/share/seclists/. Anda dapat mengunduh proyek SecLists secara manual ke direktori ini (https://github.com/danielmiessler/SecLists), atau jika Anda menggunakan Kali Linux ( sangat disarankan ) Anda dapat menjalankan perintah berikut:
sudo apt install seclists
AutoRecon akan tetap berjalan jika Anda tidak menginstal SecLists, meskipun beberapa perintah mungkin gagal, dan beberapa perintah manual mungkin juga tidak berjalan.
Selain itu, perintah berikut mungkin perlu diinstal, tergantung pada OS Anda:
curl
dnsrecon
enum4linux
feroxbuster
gobuster
impacket-scripts
nbtscan
nikto
nmap
onesixtyone
oscanner
redis-tools
smbclient
smbmap
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
wkhtmltopdf
Di Kali Linux, Anda dapat memastikan semuanya terinstal menggunakan perintah berikut:
sudo apt install seclists curl dnsrecon enum4linux feroxbuster gobuster impacket-scripts nbtscan nikto nmap onesixtyone oscanner redis-tools smbclient smbmap snmp sslscan sipvicious tnscmd10g whatweb wkhtmltopdf
Disarankan Anda menggunakan pipx
untuk menginstal AutoRecon. pipx akan menginstal AutoRecon di lingkungan virtualnya sendiri, dan membuatnya tersedia dalam konteks global, menghindari konflik ketergantungan paket dan ketidakstabilan yang diakibatkannya. Pertama, instal pipx menggunakan perintah berikut:
sudo apt install python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
Anda harus melakukan re-source file ~/.bashrc atau ~/.zshrc (atau membuka tab baru) setelah menjalankan perintah ini untuk menggunakan pipx.
Instal AutoRecon menggunakan perintah berikut:
pipx install git+https://github.com/Tib3rius/AutoRecon.git
Perhatikan bahwa jika Anda ingin menjalankan AutoRecon menggunakan sudo (diperlukan untuk pemindaian SYN dan pemindaian UDP yang lebih cepat), Anda harus menggunakan salah satu contoh berikut:
sudo env " PATH= $PATH " autorecon [OPTIONS]
sudo $( which autorecon ) [OPTIONS]
Alternatifnya, Anda dapat menggunakan pip
untuk menginstal AutoRecon menggunakan perintah berikut:
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Perhatikan bahwa jika Anda ingin menjalankan AutoRecon menggunakan sudo (diperlukan untuk pemindaian SYN dan pemindaian UDP yang lebih cepat), Anda harus menjalankan perintah di atas sebagai pengguna root (atau menggunakan sudo).
Sama halnya dengan pipx
, jika diinstal menggunakan pip
Anda dapat menjalankan AutoRecon hanya dengan menjalankan autorecon
.
Jika Anda memilih untuk tidak menggunakan pip
atau pipx
, Anda selalu dapat menginstal dan menjalankan autorecon.py
secara manual sebagai skrip. Dari dalam direktori AutoRecon, instal dependensi:
python3 -m pip install -r requirements.txt
Anda kemudian dapat menjalankan skrip autorecon.py
:
python3 autorecon.py [OPTIONS] 127.0.0.1
Mengupgrade AutoRecon ketika sudah diinstal dengan pipx adalah yang paling mudah, dan itulah sebabnya metode ini disarankan. Cukup jalankan perintah berikut:
pipx upgrade autorecon
Jika Anda telah menginstal AutoRecon menggunakan pip, pertama-tama Anda harus menghapus instalasi AutoRecon dan kemudian menginstal ulang menggunakan perintah instalasi yang sama:
python3 -m pip uninstall autorecon
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
Jika Anda menginstal AutoRecon secara manual, cukup ubah ke direktori AutoRecon dan jalankan perintah berikut:
git pull
Dengan asumsi Anda tidak mengubah konten apa pun di direktori AutoRecon, ini akan menarik kode terbaru dari repo GitHub ini, setelah itu Anda dapat menjalankan AutoRecon menggunakan skrip autorecon.py seperti biasa.
Proses pembaruan plugin sedang dikerjakan. Sampai saat itu, setelah memutakhirkan, hapus direktori ~/.local/share/AutoRecon dan jalankan AutoRecon dengan argumen apa pun untuk mengisi kembali dengan file terbaru.
AutoRecon menggunakan fungsionalitas khusus Python 3 dan tidak mendukung Python 2.
usage: autorecon [-t TARGET_FILE] [-p PORTS] [-m MAX_SCANS] [-mp MAX_PORT_SCANS] [-c CONFIG_FILE] [-g GLOBAL_FILE] [--tags TAGS]
[--exclude-tags TAGS] [--port-scans PLUGINS] [--service-scans PLUGINS] [--reports PLUGINS] [--plugins-dir PLUGINS_DIR]
[--add-plugins-dir PLUGINS_DIR] [-l [TYPE]] [-o OUTPUT] [--single-target] [--only-scans-dir] [--no-port-dirs]
[--heartbeat HEARTBEAT] [--timeout TIMEOUT] [--target-timeout TARGET_TIMEOUT] [--nmap NMAP | --nmap-append NMAP_APPEND]
[--proxychains] [--disable-sanity-checks] [--disable-keyboard-control] [--force-services SERVICE [SERVICE ...]] [--accessible]
[-v] [--version] [--curl.path VALUE] [--dirbuster.tool {feroxbuster,gobuster,dirsearch,ffuf,dirb}]
[--dirbuster.wordlist VALUE [VALUE ...]] [--dirbuster.threads VALUE] [--dirbuster.ext VALUE]
[--onesixtyone.community-strings VALUE] [--global.username-wordlist VALUE] [--global.password-wordlist VALUE]
[--global.domain VALUE] [-h]
[targets ...]
Network reconnaissance tool to port scan and automatically enumerate services found on multiple targets.
positional arguments:
targets IP addresses (e.g. 10.0.0.1), CIDR notation (e.g. 10.0.0.1/24), or resolvable hostnames (e.g. foo.bar) to scan.
optional arguments:
-t TARGET_FILE, --target-file TARGET_FILE
Read targets from file.
-p PORTS, --ports PORTS
Comma separated list of ports / port ranges to scan. Specify TCP/UDP ports by prepending list with T:/U: To scan both
TCP/UDP, put port(s) at start or specify B: e.g. 53,T:21-25,80,U:123,B:123. Default: None
-m MAX_SCANS, --max-scans MAX_SCANS
The maximum number of concurrent scans to run. Default: 50
-mp MAX_PORT_SCANS, --max-port-scans MAX_PORT_SCANS
The maximum number of concurrent port scans to run. Default: 10 (approx 20% of max-scans unless specified)
-c CONFIG_FILE, --config CONFIG_FILE
Location of AutoRecon's config file. Default: ~/.config/AutoRecon/config.toml
-g GLOBAL_FILE, --global-file GLOBAL_FILE
Location of AutoRecon's global file. Default: ~/.config/AutoRecon/global.toml
--tags TAGS Tags to determine which plugins should be included. Separate tags by a plus symbol (+) to group tags together. Separate
groups with a comma (,) to create multiple groups. For a plugin to be included, it must have all the tags specified in
at least one group. Default: default
--exclude-tags TAGS Tags to determine which plugins should be excluded. Separate tags by a plus symbol (+) to group tags together. Separate
groups with a comma (,) to create multiple groups. For a plugin to be excluded, it must have all the tags specified in
at least one group. Default: None
--port-scans PLUGINS Override --tags / --exclude-tags for the listed PortScan plugins (comma separated). Default: None
--service-scans PLUGINS
Override --tags / --exclude-tags for the listed ServiceScan plugins (comma separated). Default: None
--reports PLUGINS Override --tags / --exclude-tags for the listed Report plugins (comma separated). Default: None
--plugins-dir PLUGINS_DIR
The location of the plugins directory. Default: ~/.local/share/AutoRecon/plugins
--add-plugins-dir PLUGINS_DIR
The location of an additional plugins directory to add to the main one. Default: None
-l [TYPE], --list [TYPE]
List all plugins or plugins of a specific type. e.g. --list, --list port, --list service
-o OUTPUT, --output OUTPUT
The output directory for results. Default: results
--single-target Only scan a single target. A directory named after the target will not be created. Instead, the directory structure will
be created within the output directory. Default: False
--only-scans-dir Only create the "scans" directory for results. Other directories (e.g. exploit, loot, report) will not be created.
Default: False
--no-port-dirs Don't create directories for ports (e.g. scans/tcp80, scans/udp53). Instead store all results in the "scans" directory
itself. Default: False
--heartbeat HEARTBEAT
Specifies the heartbeat interval (in seconds) for scan status messages. Default: 60
--timeout TIMEOUT Specifies the maximum amount of time in minutes that AutoRecon should run for. Default: None
--target-timeout TARGET_TIMEOUT
Specifies the maximum amount of time in minutes that a target should be scanned for before abandoning it and moving on.
Default: None
--nmap NMAP Override the {nmap_extra} variable in scans. Default: -vv --reason -Pn -T4
--nmap-append NMAP_APPEND
Append to the default {nmap_extra} variable in scans. Default:
--proxychains Use if you are running AutoRecon via proxychains. Default: False
--disable-sanity-checks
Disable sanity checks that would otherwise prevent the scans from running. Default: False
--disable-keyboard-control
Disables keyboard control ([s]tatus, Up, Down) if you are in SSH or Docker.
--force-services SERVICE [SERVICE ...]
A space separated list of services in the following style: tcp/80/http tcp/443/https/secure
--accessible Attempts to make AutoRecon output more accessible to screenreaders. Default: False
-v, --verbose Enable verbose output. Repeat for more verbosity.
--version Prints the AutoRecon version and exits.
-h, --help Show this help message and exit.
plugin arguments:
These are optional arguments for certain plugins.
--curl.path VALUE The path on the web server to curl. Default: /
--dirbuster.tool {feroxbuster,gobuster,dirsearch,ffuf,dirb}
The tool to use for directory busting. Default: feroxbuster
--dirbuster.wordlist VALUE [VALUE ...]
The wordlist(s) to use when directory busting. Separate multiple wordlists with spaces. Default:
['~/.local/share/AutoRecon/wordlists/dirbuster.txt']
--dirbuster.threads VALUE
The number of threads to use when directory busting. Default: 10
--dirbuster.ext VALUE
The extensions you wish to fuzz (no dot, comma separated). Default: txt,html,php,asp,aspx,jsp
--onesixtyone.community-strings VALUE
The file containing a list of community strings to try. Default: /usr/share/seclists/Discovery/SNMP/common-snmp-
community-strings-onesixtyone.txt
global plugin arguments:
These are optional arguments that can be used by all plugins.
--global.username-wordlist VALUE
A wordlist of usernames, useful for bruteforcing. Default: /usr/share/seclists/Usernames/top-usernames-shortlist.txt
--global.password-wordlist VALUE
A wordlist of passwords, useful for bruteforcing. Default: /usr/share/seclists/Passwords/darkweb2017-top100.txt
--global.domain VALUE
The domain to use (if known). Used for DNS and/or Active Directory. Default: None
AutoRecon mendukung empat tingkat verbositas:
Catatan: Anda dapat mengubah verbositas pemindaian tengah AutoRecon dengan menekan tombol panah atas dan bawah.
Secara default, hasil akan disimpan di direktori ./results. Subdirektori baru dibuat untuk setiap target. Struktur sub direktori ini adalah:
.
├── exploit/
├── loot/
├── report/
│ ├── local.txt
│ ├── notes.txt
│ ├── proof.txt
│ └── screenshots/
└── scans/
├── _commands.log
├── _manual_commands.txt
├── tcp80/
├── udp53/
└── xml/
Direktori eksploitasi dimaksudkan untuk memuat kode eksploitasi apa pun yang Anda unduh/tulis untuk target.
Direktori jarahan dimaksudkan untuk menampung jarahan apa pun (misalnya hash, file menarik) yang Anda temukan pada target.
Direktori laporan berisi beberapa file dan direktori yang dibuat secara otomatis yang berguna untuk pelaporan:
Direktori pemindaian adalah tempat semua hasil pemindaian yang dilakukan oleh AutoRecon akan disimpan. Ini termasuk pemindaian port/pemindaian deteksi layanan, serta pemindaian enumerasi layanan apa pun. Ini juga berisi dua file lainnya:
Secara default, direktori dibuat untuk setiap port yang terbuka (misalnya tcp80, udp53) dan hasil pemindaian untuk layanan yang ditemukan pada port tersebut disimpan di direktori masing-masing. Anda dapat menonaktifkan perilaku ini menggunakan opsi baris perintah --no-port-dirs, dan hasil pemindaian akan disimpan di direktori pemindaian itu sendiri.
Jika pemindaian menghasilkan kesalahan, file bernama _errors.log juga akan muncul di direktori pemindaian dengan beberapa detail untuk memperingatkan pengguna.
Jika keluaran cocok dengan pola yang ditentukan, file bernama _patterns.log juga akan muncul di direktori pemindaian dengan rincian tentang keluaran yang cocok.
Direktori scans/xml menyimpan keluaran XML apa pun (misalnya dari pemindaian Nmap) secara terpisah dari keluaran pemindaian utama, sehingga direktori pemindaian itu sendiri tidak menjadi terlalu berantakan.
AutoRecon sangat berharga selama ujian OSCP saya, karena ini menyelamatkan saya dari kebosanan dalam menjalankan sendiri perintah pengumpulan informasi aktif. Saya dapat memulai dengan target dengan semua informasi yang saya butuhkan terbentang jelas di depan saya. Saya sangat merekomendasikan utilitas ini untuk siapa pun yang bekerja di laboratorium PWK, ujian OSCP, atau lingkungan lain seperti VulnHub atau HTB. Ini adalah alat yang hebat bagi orang-orang yang baru memulai perjalanan mereka ke OffSec dan juga bagi para veteran berpengalaman. Pastikan saja bahwa di antara kedua titik tersebut Anda meluangkan waktu untuk mempelajari apa yang terjadi "di balik terpal" dan bagaimana/mengapa ia memindai apa yang dilakukannya.
- b0ats (host ujian 5/5 yang di-root)
Wow, penemuan yang luar biasa! Sebelum menggunakan AutoRecon, ReconScan adalah skrip enumerasi goto saya untuk target karena secara otomatis menjalankan perintah enumerasi setelah menemukan port terbuka. Satu-satunya hal yang hilang adalah pembuatan otomatis direktori kunci yang mungkin diperlukan pentester selama keterlibatan (eksploitasi, penjarahan, laporan, pemindaian). Reconnoitre melakukan ini tetapi tidak secara otomatis menjalankan perintah tersebut untuk Anda. Saya pikir ReconScan adalah yang terbaik sampai saya mencoba AutoRecon. Ini luar biasa! Ini menggabungkan fitur terbaik dari Reconnoitre (pembuatan direktori otomatis) dan ReconScan (menjalankan perintah enumerasi secara otomatis). Yang harus saya lakukan adalah menjalankannya pada suatu target atau serangkaian target dan mulai memeriksa informasi yang telah dikumpulkannya sambil melanjutkan pemindaian lainnya. Buktinya ada di pudingnya :) Lulus ujian OSCP! Kudos untuk Tib3rius!
- kerja0ut
Ada teman yang bercerita tentang AutoRecon, jadi saya mencobanya di lab PWK. AutoRecon meluncurkan alat umum yang selalu kita gunakan, baik itu nmap atau nikto, dan juga membuat sistem subfolder yang bagus berdasarkan target yang Anda serang. Fitur terkuat AutoRecon adalah kecepatannya; pada ujian OSCP saya membiarkan alat berjalan di latar belakang sementara saya memulai dengan target lain, dan dalam hitungan menit semua keluaran AutoRecon menunggu saya. AutoRecon membuat file penuh dengan perintah yang harus Anda coba secara manual, beberapa di antaranya mungkin memerlukan penyesuaian (misalnya, perintah hydra bruteforcing). Senang rasanya memiliki daftar periksa tambahan itu.
- tr3mb0 (host ujian 4/5 yang di-root)
Diperkenalkan ke AutoRecon adalah perubahan total bagi saya saat menggunakan OSCP dan menetapkan metodologi pengujian penetrasi saya. AutoRecon adalah alat pengintaian multi-utas yang menggabungkan dan mengotomatiskan alat enumerasi populer untuk melakukan sebagian besar kerja keras untuk Anda. Anda tidak bisa menjadi lebih baik dari itu! Setelah menjalankan AutoRecon di host ujian OSCP saya, saya diberi peti harta karun berisi informasi yang membantu saya memulai di setiap host dan lulus pada percobaan pertama saya. Bagian terbaik dari alat ini adalah secara otomatis meluncurkan pemindaian enumerasi lebih lanjut berdasarkan pemindaian port awal (misalnya, jalankan enum4linux jika SMB terdeteksi). Satu-satunya bagian buruknya adalah saya tidak menggunakan alat ini lebih awal! Terima kasih Tib3rius.
- rufy (host ujian 4/5 yang di-root)
AutoRecon memungkinkan peneliti keamanan memindai host secara berulang dan mengidentifikasi vektor serangan potensial. Kekuatan sebenarnya datang dalam bentuk melakukan pemindaian di latar belakang saat penyerang bekerja pada host lain. Saya dapat memulai pemindaian dan menyelesaikan host tertentu yang sedang saya kerjakan - lalu kembali dan menemukan semua pemindaian relevan telah selesai. Saya kemudian dapat segera mencoba mendapatkan akses awal daripada melakukan proses pemindaian aktif secara manual. Saya akan terus menggunakan AutoRecon dalam uji penetrasi dan CTF di masa mendatang, dan sangat menyarankan Anda melakukan hal yang sama.
- waar (root 4.99/5 host ujian)
"Jika Anda harus melakukan tugas lebih dari dua kali sehari, Anda perlu mengotomatiskannya." Itu adalah nasihat yang diberikan seorang bos lama kepada saya. AutoRecon mengambil pelajaran itu dengan sepenuh hati. Baik saat Anda sedang mengikuti ujian, atau di laboratorium PWK, Anda dapat menjalankan AutoRecon dan membiarkannya bekerja secara ajaib. Saya menjalankannya selama ujian terakhir saya saat saya mengerjakan buffer overflow. Pada saat saya selesai, semua data enum yang saya perlukan sudah ada untuk saya lalui. 10/10 akan merekomendasikan bagi siapa pun yang masuk ke KKP, dan siapa pun yang sudah lama berkecimpung di bidang ini.
- whoisflynn
Saya sangat menyukai alat ini sehingga saya menulisnya.
- Tib3rius (host ujian 5/5 yang di-root)
Saya sangat menyarankan siapa pun menggunakan OSCP, melakukan CTF, atau HTB untuk memeriksa alat ini. Telah menggunakan AutoRecon di HTB selama sebulan sebelum menggunakannya di laboratorium PWK dan itu membantu saya lulus ujian OSCP. Jika Anda kesulitan menyelesaikan metodologi enumerasi, saya mendorong Anda untuk mengikuti alur dan teknik yang digunakan skrip ini. Ini menghilangkan banyak pekerjaan membosankan yang mungkin biasa Anda lakukan sekaligus menyediakan subdirektori yang terorganisir dengan baik untuk diperiksa dengan cepat sehingga Anda tidak kehilangan akal. Perintah manual yang disediakannya sangat bagus untuk situasi spesifik yang membutuhkannya ketika Anda kehabisan pilihan. Ini adalah alat yang sangat berharga, sangat direkomendasikan.
- d0hnuts (host ujian 5/5 yang di-root)
Autorecon bukan sembarang alat lainnya, ini adalah kerangka korelasi pengintaian untuk keterlibatan. Ini membantu saya menjalankan sejumlah besar pemindaian saat saya mengerjakan target lain. Ini dapat banyak membantu dalam manajemen waktu. Ini membantu saya memiliki 4/5 kotak dalam ujian pwk! Hasil: Lulus!
- Wh0ami (host ujian 4/5 yang di-root)
Pertama kali saya mendengar tentang AutoRecon saya bertanya apakah saya benar-benar membutuhkan ini, enumerasi saya baik-baik saja... Saya mencobanya dengan pikiran terbuka dan langsung sedikit terpaku pada jumlah informasi yang akan dihasilkannya. Setelah saya terbiasa, dan mulai membaca hasilnya, saya menyadari betapa banyak kekurangan yang saya miliki. Saya menggunakannya untuk ujian OSCP, dan menemukan hal-hal yang tidak akan pernah saya temukan sebelumnya. Saya sangat yakin, tanpa AutoRecon saya akan gagal. Ini adalah alat yang hebat, dan saya sangat terkesan dengan apa yang mampu dibuat oleh Tib3rius. Pastinya sesuatu yang sudah saya rekomendasikan kepada orang lain, termasuk Anda!
- lain-lain
AutoRecon membantu saya menghemat waktu yang berharga dalam ujian OSCP, memungkinkan saya menghabiskan lebih sedikit waktu untuk memindai sistem dan lebih banyak waktu untuk membobolnya. Perangkat lunak ini bernilai emas!
- TorHackr
Alat ajaib yang membuat enumerasi menjadi mudah, cukup jalankan dan saksikan keindahan multi-threading yang mengeluarkan banyak informasi yang memerlukan banyak perintah untuk dijalankan. Saya yakin bahwa hanya dengan menggunakan AutoRecon dalam ujian OSCP, separuh upaya sudah selesai. Sangat disarankan!
- Arman (menyelesaikan tuan rumah ujian 4,5/5)