kali渗透综合靶机(十七)--HackInOS靶机
kali渗透综合靶机(十七)--HackInOS靶机
靶机下载地址:https://www.vulnhub.com/hackinos/HackInOS.ova
一、主机发现
1.netdiscover -i eth0 -r 192.168.10.0/24

二、端口扫描
1. masscan --rate=10000 -p0-65535 192.168.10.137

三、端口服务识别
nmap -sV -T4 -O -p 22,8000 192.168.10.137

四、漏洞复现与利用
1.浏览器访问http://192.168.10.137:8000/,点击页面链接,发现该页面是个静态页面

2.扫描目录

2.1发现http://192.168.10.137:8000/robots.txt

2.2发现上传点以及上传目录

2.3查看upload.php页面源码,发现github地址

2.4访问对应的github,发现泄露上传页面源码

2.5审计源码,发现对上传的文件做了限制(限制上传的mime类型为image/png或者image/gif),然后对上传后的文件进行了重命名处理(文件名拼接1~100之间的随机数,然后在对拼接之后的文件名进行MD5加密,获得新的文件名)
2.6通过对源码的分析,发现只对上传的文件mime类型做了限制,没有限制文件后缀,可以通过在文件内容开头添加GIF89a来绕过服务器端的限制
在php反弹内容开头添加GIF89a并上传,下图看到上传成功

2.7尝试直接用菜刀链接,失败,分析源码发现对文件的文件做了重命名,编写python脚本,生成文件名字典

2.8运行python脚本,生成文件名字典

2.9 使用dirb爆破webshell目录,成功爆破出来目录

2.10过几分钟,爆破,发现没有爆破出来,怀疑目标系统上有防火墙或者自动清理程序

2.11 kali开启监听,重启上传php反弹shell,dirb爆破目录,成功获得shell

2.12开启一个终端

3.提权
3.1对主机进行信息收集,查看wordpress配置文件

3.2查看开放的端口

3.3 查看可执行的二进制文件

3.4 发现使用tail可以查看/etc/shadow文件

3.5把/etc/shadow中root的hash复制到一个文件,然后使用john进行爆破,成功破解出密码john

3.6使用su root登录root,成功登录

内网渗透
1.查看ip,发现是内网ip

2.使用msf那反弹shell,进而对整个内网进行信息收集
2.1msf反弹shell
Msf 生成payload

2.2把payload在靶机的root权限下执行,msf等待反弹

3.使用自动添加路由模块,添加通往靶机的路由

4.扫描内网网段


5.发现172.18.0.2开放了3306端口
5.1,使用之前在wordpress配置文件中找到的用户名和密码,尝试登录数据库

5.2查看敏感信息,发现host_ssh_cred

5.3查看host_ssh_cred表里的内容,发现经过加密的密码

5.4 使用md5在线解密

5.5ssh登录靶机

6.提权
docker run -v /:/root -i -t ubuntu /bin/bash 成功获得root权限

总结:
1、信息收集
2.github源码泄露
3、python编写脚本生成随机文件名,dirb爆破目录
4、目标疑似有自动清理程序,菜刀失败,使用反弹shell
5、使用tail -c1K 查看/etc/shadow文件,使用john爆破root的密码
6、内网渗透,使用msf反弹shell,添加路由,端口扫描、主机发现
7、docker 提权
kali渗透综合靶机(十七)--HackInOS靶机的更多相关文章
- kali渗透综合靶机(一)--Lazysysadmin靶机
kali渗透综合靶机(一)--Lazysysadmin靶机 Lazysysadmin靶机百度云下载链接:https://pan.baidu.com/s/1pTg38wf3oWQlKNUaT-s7qQ提 ...
- kali渗透综合靶机(十八)--FourAndSix2靶机
kali渗透综合靶机(十八)--FourAndSix2靶机 靶机下载地址:https://download.vulnhub.com/fourandsix/FourAndSix2.ova 一.主机发现 ...
- kali渗透综合靶机(十六)--evilscience靶机
kali渗透综合靶机(十六)--evilscience靶机 一.主机发现 1.netdiscover -i eth0 -r 192.168.10.0/24 二.端口扫描 1. masscan --ra ...
- kali渗透综合靶机(十五)--Breach-1.0靶机
kali渗透综合靶机(十五)--Breach-1.0靶机 靶机下载地址:https://download.vulnhub.com/breach/Breach-1.0.zip 一.主机发现 1.netd ...
- kali渗透综合靶机(十四)--g0rmint靶机
kali渗透综合靶机(十四)--g0rmint靶机 靶机下载地址:https://www.vulnhub.com/entry/g0rmint-1,214/ 一.主机发现 1.netdiscover - ...
- kali渗透综合靶机(十三)--Dina 1.0靶机
kali渗透综合靶机(十三)--Dina 1.0靶机 一.主机发现 1.netdiscover -i eth0 -r 192.168.10.0/24 二.端口扫描 1. masscan --rate= ...
- kali渗透综合靶机(十二)--SickOs1.2靶机
kali渗透综合靶机(十二)--SickOs1.2靶机 靶机下载地址:https://www.vulnhub.com/entry/sickos-12,144/ 一.主机发现 1.netdiscover ...
- kali渗透综合靶机(十一)--BSides-Vancouver靶机
kali渗透综合靶机(十一)--BSides-Vancouver靶机 靶机下载地址:https://pan.baidu.com/s/1s2ajnWHNVS_NZfnAjGpEvw 一.主机发现 1.n ...
- kali渗透综合靶机(十)--Raven靶机
kali渗透综合靶机(十)--Raven靶机 一.主机发现 1.netdiscover -i eth0 -r 192.168.10.0/24 二.端口扫描 1. masscan --rate=1000 ...
随机推荐
- oracle学习笔记(十一) 高级查询
高级查询 分组查询 select * from student [where ] [having ] --二次限定 [order by] --asc升序 desc降序 默认升序 查看EMPLOYEE表 ...
- SpringBoot(14)—注解装配Bean
SpringBoot(14)-注解装配Bean SpringBoot装配Bean方式主要有两种 通过Java配置文件@Bean的方式定义Bean. 通过注解扫描的方式@Component/@Compo ...
- Python 3 行代码 5 秒抠图的 AI 神器,根本无需 PS
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 苏克1900 PS:如有需要Python学习资料的小伙伴可以加点击下 ...
- Oracle:Redhat 7.4+Oracle Rac 11.2.0.4 执行root.sh报错处理
一.报错信息 二.原因分析 因为RHEL 7使用systemd而不是initd运行进程和重启进程,而root.sh通过传统的initd运行ohasd进程 三.解决办法 在RHEL 7中ohasd需要被 ...
- iOS自定义TabBar使用popToRootViewControllerAnimated返回后tabbar重叠
解决方法 所以方法就是:遵循UINavigationController的代理,用代理方法解决该Bug,代码如下: 实现代理方法: { // 删除系统自带的tabBarButton for (UIVi ...
- python if语法
1.查看数据类型 print(type(1)) 2.同类型:数字相加 ,字符串拼接 a=input("输:") print(int(a)+5) 3.单if条件语句 if if 3& ...
- 前端基础之BOM和DOM操作
目录 BOM和DOM定义 windows对象 windows的子对象 navigator对象 screen对象 history对象 location对象 弹出框 警告框 确认框 提示框 计时相关 se ...
- SQL server 2012 各个版本比较
有关不同版本的 SQL Server 2012 所支持的功能的详细信息. 功能名称 Enterprise 商业智能 Standard Web Express with Advanced Service ...
- Python—实现ssh客户端(连接远程服务器)
paramiko是一个基于SSH用于连接远程服务器并执行相关操作(SSHClient和SFTPClinet,即一个是远程连接,一个是上传下载服务),使用该模块可以对远程服务器进行命令或文件操作,值得一 ...
- [Go] gocron源码阅读-go语言中的切片接口和类型综合
// getCommands func getCommands() []cli.Command { command := cli.Command{ Name: "web", Usa ...