测试的 VM 主机主要来源 www.vulnhub.com
OSCP - Lazysysadmin 的破解
OSCP - DerpNStink 的破解
OSCP - 6Days_Lab-v1.0.1 的破解
OSCP - 64Base_3mrgnc3 的破解
OSCP - CH4INRULZ_v1.0.1 的破解
OSCP - JIS-CTF-VulnUpload-CTF01 的破解
OSCP - Typhoon 1.02 的破解
OSCP - Raven: 1 的破解
OSCP - FourAndSix 2.01 的破解
最近在研究漏洞原理及复现
参考链接:https://blog.ropnop.com/transferring-files-from-kali-to-windows/
2020年7月11日21:32:59 【原创】
目的:自动批量拉取 vulhub 镜像
vulhub 官网地址:https://vulhub.org/
root@ubuntu:~# git clone https://github.com/vulhub/vulhub
或者浏览器下载 https://codeload.github.com/vulhub/vulhub/zip/master
vulhub目前包括 157 漏洞环境,但是在需要进行环境部署的时候,往往会出现拉取时间长的问题,所以我们需要在电脑中常备一个完整的靶机环境,通常在需要批量部署的时候,我们就要考虑写脚本了。
话不多少,先分析人工部署的过程
我在这里使用的是 ubuntu 2020 Dekstop版
docker 安装参考 https://blog.csdn.net/m82_a1/article/details/98870376
# 卸载原有版本
sudo apt-get remove docker docker-engine docker-ce docker.io
sudo rm -rf /var/lib/docker
dpkg -l | grep docker
sudo apt-get purge docker-ce
sudo apt-get update
# 安装添加使用 HTTPS 传输的软件包
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository “deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
sudo add-apt-repository “deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable”
sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable”
sudo apt-get update
sudo apt-get install docker-ce
apt-cache madison docker-ce
docker version
apt-cache madison docker-ce
apt-get install docker-ce=
sudo apt-get install docker-ce=5:19.03.93-0ubuntu-focal
# 启动后台服务(三选一)
sudo service docker restart
/etc/init.d/docker restart
systemctl restart docker
{
“registry-mirrors”:[“https://f3lu6ju1.mirror.aliyuncs.com”]
}
参考 https://blog.csdn.net/LUCKWXF/article/details/96131392
apt install python3-pip #(ubuntu)
yum install python3-pip #(centos)
pip3 install docker-compose
根据官方教程,只需要执行
docker-compose up -d
主要过程是 docker-compose 命令根据 docker-compose.yml 文件中的配置来拉取镜像,所以需要在有 docker-compose.yml 文件的目录下执行拉取镜像命令。
执行步骤如下:
cd /src/vulhub/activemq/CVE-2015-5254
docker-compose up -d
docker-compose down
根据网速,每个镜像都会消耗很多时间,如果这157个全部安装完,基本要花费好几天的时间来拉取镜像,不爽!
每个镜像执行的过程中都会经历三步:
基于这个思路,制作一个 bash 脚本,内容是自动切换路径,然后自动拉取,再自动停止,然后换下一个…
创建 python3 的文件
cd /home/ubuntu/Desktop/
vim test.py
内容如下:
import os
for parent, dirnames, filenames in os.walk(“/src/vulhub/”):
print(“----------------------------------”)
print(parent)
if dirnames:
print(dirnames)
if "docker-compose.yml" in filenames:
print("+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+")
print(parent)
with open("optput.sh", "a") as file_tmp:
file_tmp.truncate()
file_tmp.write("cd "+ parent + "\n")
file_tmp.write('echo "'+ parent + '"\n')
file_tmp.write('echo "------------------------------------"\n')
file_tmp.write("docker-compose up -d\n")
file_tmp.write("docker-compose down\n\n")
# continue
运行test.py文件
pythpn3 test.py
会自动生成一个文件 output.sh
然后就可以自动运行脚本程序了
chmod 777 optput.sh
sh optput.sh
然后睡一觉,就全部拉取完成了
准备考 OSCP,发现有意思的数据传输方式,特此练习一遍
参考链接:https://blog.ropnop.com/transferring-files-from-kali-to-windows/
2019年3月30日17:29:09 【原创】
简介
无论那种情况,我们有时候会需要从 linux 系统传输数据到 windows 系统,尤其是文件。但是往往 nc 没有同时存在于双方系统上,此时就需要其他的简便方法来操作。
nc 文件传输
nc 使用:传送门 – Kali Linux渗透测试 003 基本工具–NC
• 传输文件( B->A )
A:root@kali:~# nc -lp 4444 > 2.mp4
B:root@metasploitable:~# nc -nv 192.168.1.100 4444 < AWVS\ 01.avi -q 1
或(A->B)
A:root@kali:~# nc -q 1 -lp 4444 < 2.mp4
B:root@metasploitable:~# nc -nv 192.168.1.100 4444 > 3.mp4
• 传输目录
A:root@kali:~# tar zcvf - testdir/ | nc -lp 4444 -q 1
B:root@metasploitable:~# nc 192.168.1.100 4444 | tar zxvf -
启动 apache 服务器
root@kali:~# /etc/init.d/apache2 start
[ ok ] Starting apache2 (via systemctl): apache2.service.
root@kali:~# netstat -tulnp | grep 80
tcp6 0 0 :::80 :::* LISTEN 1248/apache2
可以看到打开 80 端口 ,如果使用 apache 环境,需要经文件复制进 /var/www/html/ 目录
root@kali:~# cp team.exe /var/www/html/
或者 使用 python 自带的模块搭建简单的 HTTP 环境
如果不需要再使用,可以先停止 apache 服务
root@kali:~# /etc/init.d/apache2 stop
root@kali:~# python -m SimpleHTTPServer
Serving HTTP on 0.0.0.0 port 8000 …
此时 HTTP 监听的根目录是运行此命令当前所在的目录(我的环境是 root 家目录)
进行文件下载
使用浏览器进行下载
浏览器访问 http://10.10.10.166/team.exe
windows 环境可以使用 certutil.exe 工具
PS C:\Users\John> certutil.exe -urlcache -split -f "http://10.10.10.166/team.exe" team.exe
windows 环境可以使用 powershell 环境
PS C:\Users\John> powershell -c "(new-object System.Net.WebClient).DownloadFile('http://10.10.10.166:8000/team.exe','team.exe')"
另外还有 bitsadmin 工具
PS C:\Users\John> bitsadmin /transfer n http://10.10.10.166:8000/team.exe D:\PSTools.zip
参考资料:
https://www.cnblogs.com/gayhub/p/6517655.html
https://stackoverflow.com/questions/28143160/how-can-i-download-a-file-with-batch-file-without-using-any-external-tools
linux 环境
root@ubuntu:~# curl http://10.10.10.166:8000/team.exe > team.exe
root@ubuntu:~# wget http://10.10.10.166:8000/ssh_login.txt
启动
使用 python 模块
# 使用前需要先安装 python 模块
root@kali:~# apt-get install python-pyftpdlib
root@kali:~# python -m pyftpdlib -p 21
如果要授予匿名用户写入权限,请同时添加该-w标志。
使用 MSF
Module options (auxiliary/server/ftp):
Name Current Setting Required Description ---- --------------- -------- ----------- FTPPASS no Configure a specific password that should be allowed access FTPROOT /tmp/ftproot yes The FTP root directory to serve files from FTPUSER no Configure a specific username that should be allowed access PASVPORT 0 no The local PASV data port to listen on (0 is random) SRVHOST 0.0.0.0 yes The local host to listen on. This must be an address on the local machine or 0.0.0.0 SRVPORT 21 yes The local port to listen on. SSL false no Negotiate SSL for incoming connections SSLCert no Path to a custom SSL certificate (default is randomly generated)
Auxiliary action:
Name Description
---- -----------
Service
msf5 auxiliary(server/ftp) > set FTPROOT /root
msf5 auxiliary(server/ftp) > run -j
[*] Auxiliary module running as background job 0.
[] Started service listener on 0.0.0.0:21
[] Server started.
进行在后台运行,结束可以使用 jobs -k
下载,使用 anonymous 账户登录
PS C:\Users\John> ftp 10.10.10.166
连接到 10.10.10.166。
220 FTP Server Ready
500 'OPTS UTF8 ON': command not understood.
用户(10.10.10.166:(none)): anonymous
331 User name okay, need password...
密码:
230 Login OK
ftp> dir
200 PORT command successful.
425 Can't build data connection
ftp> ls
200 PORT command successful.
500 'NLST ': command not understood.
ftp> binary
200 Type is set
ftp> dir
200 PORT command successful.
150 Opening ASCII mode data connection for /bin/ls
total 1888
drwxr-xr-x 2 0 0 512 Jan 1 2000 lmg
drwxr-xr-x 2 0 0 512 Jan 1 2000 Downloads
-rwxr-xr-x 2 0 0 512 Jan 1 2000 team.exe
-rw-r--r-- 1 0 0 1515 Jan 1 2000 .viminfo
226 Transfer complete.
ftp: 收到 1903 字节,用时 0.14秒 13.59千字节/秒。
ftp> get team.exe
200 PORT command successful.
150 Opening BINARY mode data connection for team.exe
226 Transfer complete.
ftp: 收到 4803401 字节,用时 0.05秒 102200.02千字节/秒。
ftp>
也可以浏览器 直接访问 ftp:// 10.10.10.166
另外,如果是命令行环境,可以一步直接下载
# 创建文件:ftp_commands.txt
open 10.10.10.166
anonymous
whatever
binary
get team.exe
bye
PS C:\Users\John> ftp -s:ftp_commands.txt
启动
默认安装在Windows XP中
MSF
Module options (auxiliary/server/tftp):
Name Current Setting Required Description ---- --------------- -------- ----------- OUTPUTPATH /tmp yes The directory in which uploaded files will be written. SRVHOST 0.0.0.0 yes The local host to listen on. SRVPORT 69 yes The local port to listen on. TFTPROOT /tmp yes The TFTP root directory to serve files from
Auxiliary action:
Name Description
---- -----------
Service
msf5 auxiliary(server/tftp) > set TFTPROOT /root
TFTPROOT => /root
msf5 auxiliary(server/tftp) > run -j
[*] Auxiliary module running as background job 1.
[] Starting TFTP server on 0.0.0.0:69…
[] Files will be served from /root
[*] Uploaded files will be saved in /tmp
下载
windows 10 环境默认带有 tftp 客户端,如果不带,就可以使用 pkgmgr /iu:“TFTP” 命令
PS C:\Users\John> tftp -i 10.10.10.166 GET team.exe
在linux启动 samba服务
root@kali:~# git clone https://github.com/CoreSecurity/impacket
root@kali:~# cd impacket/
root@kali:~/impacket# python3 setup.py install
root@kali:~/impacket# cd examples/
root@kali:~/impacket/examples# python smbserver.py ROPNOP /root
Impacket v0.9.17 - Copyright 2002-2018 Core Security Technologies
[*] Config file parsed
[*] Callback added for UUID 4B324FC8-1670-01D3-1278-5A47BF6EE188 V:3.0
[*] Callback added for UUID 6BFFD098-A112-3610-9833-46C3F87E345A V:1.0
[*] Config file parsed
[*] Config file parsed
[*] Config file parsed
在一行中,我们已经启动并运行了SMB共享。您可以smbclient从Linux 确认一下是否已经开启:
root@kali:~# smbclient -L 10.10.10.166 --no-pass
Sharename Type Comment --------- ---- ------- ROPNOP Disk IPC$ Disk
Reconnecting with SMB1 for workgroup listing.
Connection to 10.10.10.166 failed (Error NT_STATUS_CONNECTION_REFUSED)
Failed to connect with SMB1 – no workgroup available
或者在 windows 使用 net view 看一下
PS C:\Users\John> net view \\10.10.10.166
本文记录 python 的学习过程
- 基于python3的加密工具-python基础
- Python黑帽子-黑客与渗透测试编程之道 Python黑帽子-黑客与渗透测试编程之道
- python2.7 + zbar 二维码运行环境
- 《python密码学编程》笔记
- python3 + wxpython 实现 AES 加密工具
- python3 + wxpython 实现 RSA 安全传输工具
- python3 + wxpython 实现RSA加密聊天室
- python2.7 + wxpython +zbar 实现二维码的生成、嵌入和提取
- python3 + wxpython 实现基于 metasploit 的安全扫描工具
- 保存CSDN 中的博客文章为本地文件
python基础
Python黑帽子-黑客与渗透测试编程之道
python2.7 + zbar 二维码运行环境
《python密码学编程》笔记
python3 + wxpython 实现 AES 加密工具
python3 + wxpython 实现 RSA 安全传输工具
python3 + wxpython 实现RSA加密聊天室
python2.7 + wxpython +zbar 实现二维码的生成、嵌入和提取
python3 + wxpython 实现基于 metasploit 的安全扫描工具
保存CSDN 中的博客文章为本地文件
网络安全打工人