Salasana on teknisesti määritelty salaiseksi merkkijonoksi, jota käytetään resurssien todentamiseen tai pääsyyn. Se on pidettävä salassa ja piilotettava muilta, joilla ei ole pääsyä näihin resursseihin. Tietokoneissa on käytetty salasanoja alusta lähtien. Yksi ensimmäisistä jakamisjärjestelmistä otettiin käyttöön vuonna 1961. Siinä oli sisäänkirjautumiskomento, joka pyysi käyttäjän salasanaa. Kun SALASANA on kirjoitettu, järjestelmä sammuttaa tulostusmekanismin, jos mahdollista, jotta käyttäjä voi kirjoittaa salasanansa yksityisesti.
Salasanan vahvuus riippuu pituudesta, monimutkaisuudesta ja arvaamattomuudesta. Se mittaa tehokkuutta vastustaa arvaamista tai rikkomista. Heikot salasanat sen sijaan lyhentävät aikaa, joka tarvitaan arvaamiseen ja pääsyyn henkilökohtaisiin/yrityssähköposteihin, arkaluonteisiin tietoihin, kuten taloudellisiin tietoihin, yritystietoihin, luottokortteihin jne.
Salasana voi olla heikko monella tapaa, mikä vastaa eri hyökkäysmallien vahvuuksia. Suosituin tällainen valtakunnallinen hyökkäys on raaka voima. se on kokeilu- ja erehdysmenetelmä, kuten arvaus, yritys purkaa salattuja tietoja, kuten sovellusohjelman tai hakkerointityökalun käyttämä salasana tai tietojen salaus.
Hydra on nopein verkkokirjautumisen krakkausyksikkö, joka tukee lukuisia hyökkäysprotokollia. Se on erittäin nopea ja joustava, ja uusia moduuleja on helppo lisätä. Tämän työkalun avulla tutkijat ja turvallisuuskonsultit voivat osoittaa, kuinka helppoa olisi saada luvaton pääsy järjestelmään etänä. Hydran kirjoitti van Hauser ja sen lisäksi David Maciejak. Viimeisimmässä päivityksessä hydra-kehitys siirretään julkiseen github-arkistoon osoitteessa https://github.com/vanhauser-thc/thc-hydra.
Hydran kääntämistä testattiin Linuxilla, Windows/Cygwinillä, Solaris 11: llä, FreeBSD 8.1: llä, OpenBSD: llä, OSX: llä, QNX/Blackberrylla, ja se on saatavana GPLv3: n alla erityisellä OpenSSL -lisenssilaajennuksella.
THC Hydra tukee seuraavia protokollia: Cisco AAA, Cisco-todennus, Ciscon käyttöönotto, CVS, FTP, HTTP (S) -FORM-GET, HTTP (S) -FORM-POST, HTTP (S) -GET, HTTP (S) -HEAD , HTTP-välityspalvelin, ICQ, IMAP, IRC, LDAP, MS-SQL, MySQL, NNTP, Oracle Listener, Oracle SID, PC-Anywhere, PC-NFS, POP3, PostgreSQL, RDP, Rexec, Rlogin, Rsh, SIP, SMB (NT), SMTP, SMTP Enum, SNMP v1+v2+v3, SOCKS5, SSH (v1 ja v2), SSHKEY, Subversion, Teamspeak (TS2), Telnet, VMware-Auth, VNC ja XMPP.
HYDRAN VERTAILEMINEN MUIDEN MURKISTUSTYÖKALUJEN KANSSA
Hydran vieressä on myös paljon kirjautumistyökaluja, mutta mikään niistä ei tue valtavaa luetteloa protokollista ja rinnakkaisista kirjautumiskrakkaustuista, kuten hydra. Alla olevissa taulukoissa on esitetty ominaisuuksien, palveluiden ja nopeusvertailun tulos meduusaa ja ncrackia vastaan.
ominaisuudet
Ominaisuus | Hydra | meduusa | Ncrack |
Lisenssi | AGPLv3 | GPLv2 | GPLv2 + Nmap -ehdot |
IPv6 -tuki | Joo | Ei | Ei |
Graafinen käyttöliittymä | Joo | Joo | Ei |
Kansainvälinen tuki (RFC 4013) | Joo | Ei | Ei |
HTTP -välityspalvelimen tuki | Joo | Joo | Ei |
SOCKS -välityspalvelimen tuki | Joo | Ei | Ei |
Tuetut protokollat | 51 | 22 | 7 |
Palvelut
Palvelu | Yksityiskohdat | Hydra | meduusa | Ncrack |
ADAM-6500 | Joo | Ei | Ei | |
AFP | Joo | Joo | Ei | |
Tähti | Joo | Ei | Ei | |
Ciscon salasana | Joo | Ei | Ei | |
Cisco Ota käyttöön | Joo | Ei | Ei | |
CVS | Joo | Joo | Ei | |
Firebird | Joo | Ei | Ei | |
FTP | Joo | Joo | Joo | |
SSL -tuki | AUTH TLS & FTP SSL: n kautta | AUTH TLS & FTP SSL: n kautta | Ei | |
HTTP | Menetelmä (t) | HANKI, PÄÄ, POSTI | SAADA | SAADA |
Perusoikeus | Joo | Joo | Joo | |
HTTP -lomake | Menetelmä (t) | GET, POST | GET, POST | Ei |
SSL -tuki | HTTPS | HTTPS | Ei | |
HTTP -välityspalvelin | Perusoikeus | Joo | Ei | Ei |
DIGEST-MD5 Aut | Joo | Ei | Ei | |
NTLM -todennus | Joo | Ei | Ei | |
SSL -tuki | HTTPS | Ei | Ei | |
HTTP PROXY URL -luettelo | Joo | Ei | Ei | |
ICQ | v5 | Joo 1 | Ei | Ei |
IMAP | LOGIN -tuki | Joo | Joo | Ei |
AUTH LOGIN -tuki | Joo | Ei | Ei | |
AUTH PLAIN -tuki | Joo | Joo | Ei | |
AUTH CRAM-MD5 -tuki | Joo | Ei | Ei | |
AUTH CRAM-SHA1 -tuki | Joo | Ei | Ei | |
AUTH CRAM-SHA256 -tuki | Joo | Ei | Ei | |
AUTH DIGEST-MD5 -tuki | Joo | Ei | Ei | |
AUTH NTLM -tuki | Joo | Joo | Ei | |
AUTH SCRAM-SHA1 -tuki | Joo | Ei | Ei | |
SSL -tuki | KUVAT & STARTTLS | KUVAT & STARTTLS | Ei | |
IRC | Yleinen palvelimen salasana | Joo | Ei | Ei |
OPER -tilan salasana | Joo | Ei | Ei | |
LDAP | v2, yksinkertainen tuki | Joo | Ei | Ei |
v3, yksinkertainen tuki | Joo | Ei | Ei | |
v3, AUTH CRAM-MD5 -tuki | Joo | Ei | Ei | |
AUTH DIGEST-MD5 -tuki | Joo | |||
AUTH NTLM -tuki | Joo | Joo | ||
AUTH SCRAM-SHA1 -tuki | Joo | |||
SSL -tuki | KUVAT & STARTTLS | KUVAT & STARTTLS | ||
IRC | Yleinen palvelimen salasana | Joo | ||
OPER -tilan salasana | Joo | |||
LDAP | v2, yksinkertainen tuki | Joo | ||
v3, yksinkertainen tuki | Joo | |||
v3, AUTH CRAM-MD5 -tuki | Joo | |||
v3, AUTH DIGEST-MD5 -tuki | Joo | |||
MS-SQL | Joo | Joo | ||
MySQL | v3.x | Joo | Joo | |
v4.x | Joo | Joo | ||
v5.x | Joo | Joo | ||
NCP | Joo | Joo | ||
NNTP | USER -tuki | Joo | Joo | |
AUTH LOGIN -tuki | Joo | |||
AUTH PLAIN -tuki | Joo | |||
AUTH CRAM-MD5 -tuki | Joo | |||
AUTH DIGEST-MD5 -tuki | Joo | |||
AUTH NTLM -tuki | Joo | |||
SSL -tuki | STARTTLS & NNTP SSL: n kautta | |||
Oraakkeli | Tietokanta | Joo | Joo | |
TNS -kuuntelija | Joo | |||
SID -luettelointi | Joo | |||
PC-NFS | Joo | |||
pcAnywhere | Alkuperäinen todennus | Joo | Joo | |
Käyttöjärjestelmäpohjainen todennus (MS) | Joo | |||
POP3 | USER -tuki | Joo | Joo | Joo |
APOP -tuki | Joo | |||
AUTH LOGIN -tuki | Joo | Joo | ||
AUTH PLAIN -tuki | Joo | Joo | ||
AUTH CRAM-MD5 -tuki | Joo | |||
AUTH CRAM-SHA1 -tuki | Joo | |||
AUTH CRAM-SHA256 -tuki | Joo | |||
AUTH DIGEST-MD5 -tuki | Joo | |||
AUTH NTLM -tuki | Joo | Joo | ||
SSL -tuki | POP3S & STARTTLS | POP3S & STARTTLS | POP3S | |
PostgreSQL | Joo | Joo | ||
Tähti | Joo | |||
RDP | Windows -työasema | Joo | Joo | Joo |
Windows Server | Joo | Joo | ||
Verkkotunnuksen todennus | Joo | Joo | ||
REDIS | Joo | Ei | ||
REXEC | Joo | Joo | ||
RLOGIN | Joo | Joo | ||
RPCAP | Joo | Ei | ||
RSH | Joo | Joo | ||
RTSP | Joo | Ei | ||
SAP R / 3 | Joo | |||
Siemens S7-300 | Joo | |||
SIEMAILLA | Joo | |||
SSL -tuki | SIP SSL: n kautta | |||
SMB | NetBIOS -tila | Joo | Joo | Ei |
W2K -alkuperäinen tila | Joo | Joo | Joo | |
Hash -tila | Joo | Joo | Ei | |
Tyhjennä teksti Todennus | Joo | Joo | ||
LMv1 Todennus | Joo | Joo | Joo | |
LMv2 -todennus | Joo | Joo | Joo | |
NTLMv1 Todennus | Joo | Joo | Joo | |
NTLMv2 -todennus | Joo | Joo | Joo | |
SMTP | AUTH LOGIN -tuki | Joo | Joo | |
AUTH PLAIN -tuki | Joo | Joo | ||
AUTH CRAM-MD5 -tuki | Joo | |||
AUTH DIGEST-MD5 -tuki | Joo | |||
AUTH NTLM -tuki | Joo | Joo | ||
SSL -tuki | SMTPS & STARTTLS | SMTPS & STARTTLS | ||
SMTP -käyttäjä Enum | VRFY cmd | Joo | Joo | |
EXPN cmd | Joo | Joo | ||
RCPT - cmd | Joo | Joo | ||
SNMP | v1 | Joo | Joo | |
v2c | Joo | Joo | ||
v3 | (Vain MD5/SHA1 -todennus) | |||
SUKAT | v5, salasanan todennus | Joo | ||
SSH | v1 | Joo | ||
v2 | Joo | Joo | Joo | |
SSH -avaimet | v1, v2 | Joo | ||
Subversio (SVN) | Joo | Joo | ||
Ryhmäpuhe | TS2 | Joo | ||
Telnet | Joo | Joo | Joo | |
XMPP | AUTH LOGIN -tuki | Joo | ||
AUTH PLAIN -tuki | Joo | |||
AUTH CRAM-MD5 -tuki | Joo | |||
AUTH DIGEST-MD5 -tuki | Joo | |||
AUTH SCRAM-SHA1 -tuki | Joo | |||
VMware Auth Daemon | v1.00 / v1.10 | Joo | Joo | |
SSL -tuki | Joo | Joo | ||
VNC | RFB 3.x -salasanatuki | Joo | Joo | |
RFB 3.x käyttäjän ja salasanan tuki | (Vain UltraVNC) | |||
RFB 4.x -salasanatuki | Joo | Joo | ||
RFB 4.x käyttäjän ja salasanan tuki | (Vain UltraVNC) |
Nopeuden vertailu
Nopeus (s) | Hydra | meduusa | Ncrack |
1 Tehtävä / FTP -moduuli | 11.93 | 12,97 | 18.01 |
4 Tehtävät / FTP -moduuli | 4.20 | 5.24 | 9.01 |
16 Tehtävät / FTP -moduuli | 2.44 | 2.71 | 12.01 |
1 Tehtävä / SSH v2 -moduuli | 32,56 | 33,84 | 45.02 |
4 Tehtävät / SSH v2 -moduuli | 10,95 | Rikki | Kaipaan |
16 Tehtävät / SSH v2 -moduuli | 5.14 | Rikki | Kaipaan |
Se oli lyhyt yksinkertainen johdanto hydraan. Siirrytään nyt asennukseen.
HYDRAN ASENNUS
Hydra on esiasennettu kali linuxiin, mutta jos sinulla on eri käyttöjärjestelmä, voit kääntää ja asentaa sen järjestelmääsi. Tällä hetkellä hydran tuki eri alustoilla:
- Kaikki UNIX -alustat (Linux, *bsd, Solaris jne.)
- MacOS (pohjimmiltaan BSD -klooni)
- Windows, jossa on Cygwin (sekä IPv4 että IPv6)
- Linux-, MacOS- tai QNX -pohjaiset mobiilijärjestelmät (esim. Android, iPhone, Blackberry 10, Zaurus, iPaq)
Voit ladata, konfiguroida, kääntää ja asentaa hydran kirjoittamalla terminaaliin:
git clone https://github.com/vanhauser-thc/thc-hydra.git cd thc-hydra ./configure make make install
Jos sinulla on Ubuntu/Debian, tarvitset joitain riippuvuuskirjastoja:
apt install libssl-dev libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libncp-dev
Jos et löytänyt kyseisiä kirjastoja arkistostasi, sinun on ladattava ja asennettava ne manuaalisesti.
MITEN HYDRAA KÄYTETÄÄN
Onnittelut, nyt olet onnistunut asentamaan hydran järjestelmääsi. Itse asiassa Hydrassa on kaksi makua, GUI-gtk ja suosikki, CLI-versio. ja lisäksi hydralla on myös CLI-ohjattu versio, jota kutsutaan hydra-ohjatuksi. Sinua ohjataan askel askeleelta sen sijaan, että kirjoitat kaikki komennot tai argumentit manuaalisesti päätelaitteeseen. Hydran suorittaminen päätelaitetyypistäsi:
CLI:
hydra
Ohjattu CLI-toiminto:
hydra-wizard
Käyttöliittymä:
xhydra
Kun olet kirjoittanut 'hydra', se näyttää seuraavanlaisia ohjekomentoja:
[email protected] :~# hydra -h Hydra v8.6 (c)2017 by van Hauser/THC & David Maciejak - for legal purposes only Syntax: hydra [[[-l LOGIN|-L FILE] [-p PASS|-P FILE]] | [-C FILE]] [-e nsr] [-o FILE] [-t TASKS] [-M FILE [-T TASKS]] [-w TIME] [-W TIME] [-f] [-s PORT] [-x MIN:MAX:CHARSET] [-SuvV46] [service://server[:PORT][/OPT]] Options: -R restore a previous aborted/crashed session -S perform an SSL connect -s PORT if the service is on a different default port, define it here -l LOGIN or -L FILE login with LOGIN name, or load several logins from FILE -p PASS or -P FILE try password PASS, or load several passwords from FILE -x MIN:MAX:CHARSET password bruteforce generation, type '-x -h' to get help -e nsr try 'n' null password, 's' login as pass and/or 'r' reversed login -u loop around users, not passwords (effective! implied with -x) -C FILE colon separated 'login:pass' format, instead of -L/-P options -M FILE list of servers to be attacked in parallel, one entry per line -o FILE write found login/password pairs to FILE instead of stdout -f / -F exit when a login/pass pair is found (-M: -f per host, -F global) -t TASKS run TASKS number of connects in parallel (per host, default: 16) -w / -W TIME waittime for responses (32s) / between connects per thread -4 / -6 prefer IPv4 (default) or IPv6 addresses -v / -V / -d verbose mode / show login+pass for each attempt / debug mode -U service module usage details server the target server (use either this OR the -M option) service the service to crack (see below for supported protocols) OPT some service modules support additional input (-U for module help) Supported services: asterisk afp cisco cisco-enable cvs firebird ftp ftps http[s]-head http[s]-post-form http-proxy http-proxy-urlenum icq imap[s] irc ldap2[s] ldap3[-crammd5][s] mssql mysql ncp nntp oracle-listener oracle-sid pcanywhere pcnfs pop3[s] postgres rdp rexec rlogin rsh s7-300 sip smb smtp[s] smtp-enum snmp socks5 ssh sshkey svn teamspeak telnet[s] vmauthd vnc xmpp Hydra is a tool to guess/crack valid login/password pairs - usage only allowed for legal purposes. This tool is licensed under AGPL v3.0. The newest version is always available at http://www.thc.org/thc-hydra These services were not compiled in: sapr3 oracle. Use HYDRA_PROXY_HTTP or HYDRA_PROXY - and if needed HYDRA_PROXY_AUTH - environment for a proxy setup. E.g.: % export HYDRA_PROXY=socks5://127.0.0.1:9150 (or socks4:// or connect://) % export HYDRA_PROXY_HTTP=http://proxy:8080 % export HYDRA_PROXY_AUTH=user:pass Examples: hydra -l user -P passlist.txt ftp://192.168.0.1 hydra -L userlist.txt -p defaultpw imap://192.168.0.1/PLAIN hydra -C defaults.txt -6 pop3s://[fe80::2c:31ff:fe12:ac11]:143/TLS:DIGEST-MD5 hydra -l admin -p password ftp://[192.168.0.0/24]/ hydra -L logins.txt -P pws.txt -M targets.txt ssh
Bruteforce -verkkopohjainen sisäänkirjautuminen hydralla
Hydra tukee jotakin bruteforcing-palvelua, kuten aiemmin mainitsin, yhtä niistä käytetään verkkopohjaisten kirjautumisten, kuten sosiaalisen median kirjautumislomakkeen, käyttäjäpankin kirjautumislomakkeen, reitittimen verkkopohjaisen sisäänkirjautumisen, raivaamiseen. Http [s] -get-form joka käsittelee tämän pyynnön. Tässä opetusohjelmassa aion näyttää sinulle, kuinka bruteforce haavoittuva web -kirjautumiset. Ennen kuin käynnistät hydran, meidän on tiedettävä joitain tarvittavia argumentteja, kuten alla:
- Kohde : http://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F
- Kirjaudu käyttäjätunnus : admin (jos et ole varma, pakota tämä raa'asti)
- Salasanaluettelo : Mahdollisten salasanojen sisältävän sanakirjatiedostoluettelon sijainti.
- Lomakkeen parametrit : yleensä, käytä peukalointitietoja tai välityspalvelinta pyynnön parametrien muodon hankkimiseksi. Mutta tässä käytän iceweaselia, Firefox -pohjaista, verkon kehittäjän työkalupalkkia.
- Huoltomoduuli : http-post-lomake
Help for module http-post-form: ============================================================================ Module http-post-form requires the page and the parameters for the web form. By default this module is configured to follow a maximum of 5 redirections in a row. It always gathers a new cookie from the same URL without variables The parameters take three ':' separated values, plus optional values. (Note: if you need a colon in the option string as value, escape it with ':', but do not escape a '' with '\'.) Syntax: [url]:[form parameters]:[condition string][:(optional)[:(optional)] First is the page on the server to GET or POST to (URL). Second is the POST/GET variables (taken from either the browser, proxy, etc. with usernames and passwords being replaced in the '^USER^' and '^PASS^' placeholders (FORM PARAMETERS) Third is the string that it checks for an *invalid* login (by default) Invalid condition login check can be preceded by 'F=', successful condition login check must be preceded by 'S='. This is where most people get it wrong. You have to check the webapp what a failed string looks like and put it in this parameter! The following parameters are optional: C=/page/uri to define a different page to gather initial cookies from (h|H)=My-Hdr: foo to send a user defined HTTP header with each request ^USER^ and ^PASS^ can also be put into these headers! Note: 'h' will add the user-defined header at the end regardless it's already being sent by Hydra or not. 'H' will replace the value of that header if it exists, by the one supplied by the user, or add the header at the end Note that if you are going to put colons (:) in your headers you should escape them with a backslash (). All colons that are not option separators should be escaped (see the examples above and below). You can specify a header without escaping the colons, but that way you will not be able to put colons in the header value itself, as they will be interpreted by hydra as option separators.
Postiparametrien hakeminen selaimella, iceweasel/firefox
Paina Firefox -selaimesi näppäimiä ' CTRL + VAIHTO + Q ’. Avaa sitten Web -kirjautumissivuhttp://testasp.vulnweb.com/Login.asp?RetURL=%2FDefault%2Easp%3F, huomaat jonkin verran tekstiä verkon kehittäjä -välilehdessä. Se kertoo, mitä tiedostoja meille siirretään. Katso menetelmä kaikki ovat GET, koska meillä ei ole vielä POST mitään tietoja.
Saat lomakkeen jälkeiset parametrit kirjoittamalla mitä tahansa käyttäjänimen ja salasanan lomakkeeseen. Huomaat uuden POST -menetelmän verkon kehittäjä -välilehdessä. Kaksoisnapsauta kyseistä riviä, napsauta Otsikot-välilehden Muokkaa ja lähetä uudelleen -painiketta oikealla puolella. Kopioi pyyntökappaleen viimeinen rivi, kuten tfUName = asu & tfUPass = raimu . the tfUName ja tfUPass ovat parametrit, joita tarvitsemme. Kuten alla näkyy:
Kali Linuxissa on joukko sanalistoja, valitse sopiva sanalista tai käytä vain rockyou.txt -paikkaa /usr/share/wordlists/ kuten alla näkyy:
Okei, nyt meillä on kaikki tarvitsemamme argumentit ja valmiina laukaisemaan hydra. Tässä on komentokuvio:
hydra -l -P [/code] Finally, based on information we have gathered, our commands ahould look something like this: hydra -l admin -P /usr/share/wordlists/rockyou.txt testasp.vulnweb.com http-post-form '/Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout' -vV -f
Hajotetaan komennot:
- the : on sana, joka sisältää käyttäjätunnuksen, käytä -L viittaamaan luetteloon mahdollisista käyttäjänimistä tiedostossa.
- P : on tiedostoluettelo mahdollisista salasanoista, käytä -p kirjaimellisesti käyttääksesi yhden sanan salasanaa arvaamisen sijasta.
- testapp.vunlwebapp.com : on isäntänimi tai kohde
- http-post-lomake : on käyttämämme palvelumoduuli
- /Login.asp?RetURL=%2FDefault%2Easp%3F:tfUName=^USER^&tfUPass=^PASS^:S=logout = kolme tarvittavaa parametria, syntaksi on:
{sivun URL -osoite}: {Request post body form settings}: S = {Etsi mitä tahansa sivulta onnistuneen kirjautumisen jälkeen} - v = Monitahoinen tila
- V = näytä kirjautuminen: läpäise jokainen yritys
- f = Lopeta ohjelma, jos parin kirjautuminen: salasana löytyy
Anna nyt hydran yrittää murtaa salasana meille, se tarvitsee aikaa, koska se on sanakirjahyökkäys. Kun olet löytänyt kirjautumisparin: salasana hydra lopettaa välittömästi työn ja näyttää kelvolliset kirjautumistiedot.
Hydra voi tehdä niin paljon, koska tässä opetusohjelmassa opimme juuri, miten bruteforce web-pohjainen kirjautuminen hydran avulla, opimme vain yhden protokollan, joka on http-post-form-protokolla. Voimme käyttää hydraa myös toista protokollaa vastaan, kuten ssh, ftp, telnet, VNC, välityspalvelin jne.