├── Readme.md ├── VPS_Env_install.sh ├── VPS_Install.png └── VPS_Install2.png /Readme.md: -------------------------------------------------------------------------------- 1 | ### 0x01 VPS 初始化操作 [ Tested On Ubuntu 16.04 LTS 64bit ] 2 | ``` 3 | # passwd 4 | # echo "Korc" > /etc/hostname 5 | # echo 127.0.0.1 Korc >> /etc/hosts 6 | # shutdown -r now 7 | ``` 8 | 9 | ### 0x02 执行脚本 [ source执行 ] 10 | ``` 11 | # source ./VPS_Env_install.sh 12 | ``` 13 | 14 | ### 说明 15 | ``` 16 | 渗透的VPS可能换的比较勤,脚本的作用就是将平时经常会用到的一些 17 | "系统依赖库" "各类语言执行环境(python2/3 + Golang + JDK)" 及 "小工具" 自动安装配置,避免重复劳动 18 | ``` 19 | 20 | ### 实际效果 21 | ![demo](VPS_Install.png) 22 | ![demo](VPS_Install2.png) 23 | -------------------------------------------------------------------------------- /VPS_Env_install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Author: klion 4 | # 2020.5.6 5 | 6 | # 先去VPS上去执行一些初始操作 ( 如下以 Ubuntu 16.04 LTS 64bit为例 ) 7 | # passwd # 改密码 8 | # echo "Korc" > /etc/hostname # 修改机器名 9 | # echo 127.0.0.1 Korc >> /etc/hosts # 修改解析 10 | # shutdown -r now # 最后,重启系统使之生效 11 | 12 | # 执行脚本 [ 用source执行 ] 13 | # source ./VPS_Env_install.sh 14 | 15 | # 渗透的VPS可能换的比较勤,脚本的作用就是将平时经常会用到的一些系统 "依赖库" , "各类语言执行环境(python2/3 + Golang + JDK)" 和 一些"小工具" 进行自动安装配置,避免重复劳动 16 | 17 | # 判断当前用户权限 18 | if [ `id -u` -ne 0 ];then 19 | echo -e "\n\033[33m请以 root 权限 运行该脚本! \033[0m\n" 20 | exit 21 | fi 22 | 23 | echo -e "\n\e[92m系统正在进行初始配置,请稍后... \e[0m\n" && sleep 2 24 | 25 | apt-get update >/dev/null 2>&1 26 | if [ $? -eq 0 ] ;then 27 | echo -e "\e[92m准备安装各种常用工具及依赖库,请稍后... \e[0m" && sleep 2 28 | if [ $? -eq 0 ] ;then 29 | apt-get install gcc gdb make cmake socat telnet tree tcpdump iptraf iftop nethogs lrzsz git unzip p7zip-full curl wget vim openssl libssl-dev libssh2-1-dev -y >/dev/null 2>&1 30 | if [ $? -eq 0 ] ;then 31 | echo -e "\e[94m常用基础工具及相关依赖库安装已完成 ! \e[0m\n" 32 | sleep 2 && cd 33 | else 34 | echo -e "基础工具及常用依赖库安装失败,请检查后重试 !" 35 | exit 36 | fi 37 | fi 38 | fi 39 | 40 | # 安装配置nc 41 | which "add-apt-repository" > /dev/null 42 | if [ $? -eq 0 ];then 43 | add-apt-repository universe >/dev/null 2>&1 44 | if [ $? -eq 0 ];then 45 | apt-get install netcat-traditional -y >/dev/null 2>&1 46 | if [ $? -eq 0 ];then 47 | echo -e "\e[94mNc 安装成功! \e[0m" 48 | update-alternatives --set nc /bin/nc.traditional >/dev/null 2>&1 49 | if [ $? -eq 0 ];then 50 | echo -e "\e[94mNc 配置成功! \e[0m\n" 51 | sleep 1 52 | else 53 | echo -e "Nc 配置失败,请检查后重试!" 54 | exit 55 | fi 56 | else 57 | echo -e "Nc 安装失败,请检查后重试!" 58 | exit 59 | fi 60 | else 61 | echo -e "PPA 添加失败,请检查后重试!" 62 | exit 63 | fi 64 | else 65 | echo -e "add-apt-repository 命令不存在,请尝试安装后重试!" 66 | exit 67 | fi 68 | 69 | 70 | echo -e "\e[92m准备配置SSH服务 ! \e[0m" 71 | apt-get install openssh-server -y >/dev/null 2>&1 72 | if [ $? -eq 0 ] ;then 73 | echo -e "TCPKeepAlive yes\nAllowTcpForwarding yes\nGatewayPorts yes" >> /etc/ssh/sshd_config && systemctl restart sshd.service 74 | if [ $? -eq 0 ] ;then 75 | echo -e "\e[94mSSH 服务配置已完成 ! \e[0m\n" 76 | sleep 2 && cd 77 | else 78 | echo -e "SSH安装配置失败,请检查后重试 !" 79 | exit 80 | fi 81 | fi 82 | 83 | # 注,此处的环境变量可按自己的日常操作习惯随意增加 84 | echo -e "\e[92m准备配置当前用户环境变量 ! \e[0m" && sleep 2 85 | echo -e "vi='vim'\npg='ping www.google.com -c 5'\ngrep='grep --color=auto'\n" >> ~/.bashrc && source ~/.bashrc 86 | if [ $? -eq 0 ] ;then 87 | echo -e "\e[94m当前用户环境变量配置已完成 ! \e[0m\n" 88 | sleep 2 && cd 89 | else 90 | echo -e "当前用户环境变量配置失败,请检查后重试 !" 91 | exit 92 | fi 93 | 94 | # 注,此处的VI编辑配置可按自己的日常操作习惯随意增加 95 | echo -e "\e[92m准备配置当前用户 VI 编辑器 ! \e[0m" && sleep 2 96 | cat << \EOF > ~/.vimrc 97 | set nu " 显示行号 98 | syntax on " 语法高亮 99 | autocmd InsertLeave * se nocul " 用浅色高亮当前行 100 | autocmd InsertEnter * se cul " 用浅色高亮当前行 101 | set ruler " 显示标尺 102 | set showcmd " 输入的命令显示出来,看的清楚些 103 | set nocompatible 104 | set fencs=utf-8,ucs-bom,shift-jis,gb18030,gbk,gb2312,cp936 105 | set termencoding=utf-8 106 | set encoding=utf-8 107 | set fileencodings=ucs-bom,utf-8,cp936 108 | set fileencoding=utf-8 109 | EOF 110 | if [ $? -eq 0 ] ;then 111 | echo -e "\e[94mVI 配置已完成! \e[0m\n" 112 | sleep 2 && cd 113 | fi 114 | 115 | # 开启系统路由转发 116 | echo -e "\e[92m准备开启系统路由转发 ! \e[0m" 117 | sleep 2 118 | echo 1 > /proc/sys/net/ipv4/ip_forward 119 | if [ $? -eq 0 ] ;then 120 | sed -i 's/#net.ipv4.ip_forward=1/net.ipv4.ip_forward=1/g' /etc/sysctl.conf && sysctl -p >/dev/null 2>&1 121 | if [ $? -eq 0 ] ;then 122 | echo -e "\e[94m系统路由转发已开启 ! \e[0m\n" 123 | sleep 2 && cd 124 | else 125 | echo -e "路由转发开启失败,请检查后重试 !" 126 | exit 127 | fi 128 | fi 129 | 130 | echo -e "=========================================================================================================\n" 131 | 132 | echo -e "\e[92m开始编译安装各种常用语言环境 [ Jdk 1.8 + Python 2.7 + Python 3.8 + Golang 1.14.2 ] 请耐心等待... \e[0m\n" && sleep 2 133 | 134 | # 安装配置 Jdk 1.8 135 | echo -e "\e[92m准备下载jdk-8u202-linux-x64.tar.gz 耗时可能较长,请耐心等待... \e[0m" && sleep 2 136 | wget https://repo.huaweicloud.com/java/jdk/8u202-b08/jdk-8u202-linux-x64.tar.gz >/dev/null 2>&1 137 | if [ $? -eq 0 ] ;then 138 | echo -e "\e[94mjdk-8u202-linux-x64.tar.gz 下载完成 ! \e[0m" 139 | tar xf jdk-8u202-linux-x64.tar.gz && mv jdk1.8.0_202/ /usr/local/ && ln -s /usr/local/jdk1.8.0_202/ /usr/local/jdk 140 | if [ $? -eq 0 ] ;then 141 | echo -e "export JAVA_HOME=/usr/local/jdk/\nexport PATH=\$JAVA_HOME/bin:\$JAVA_HOME/jre/bin:\$PATH\nexport CLASSPATH=.\$CLASSPATH:\$JAVA_HOME/lib:\$JAVA_HOME/jre/lib:\$JAVA_HOME/lib/tools.jar" >> /etc/profile && source /etc/profile 142 | if [ $? -eq 0 ] ;then 143 | echo -e "\e[94mJdk 1.8 安装配置已完成 ! \e[0m\n" 144 | sleep 2 && cd && rm -fr jdk* 145 | else 146 | echo -e "Jdk 1.8 安装配置失败,请检查后重试 !" 147 | exit 148 | fi 149 | fi 150 | else 151 | echo -e "jdk-8u202-linux-x64.tar.gz下载失败,请检查后重试 !" 152 | exit 153 | fi 154 | 155 | 156 | # 安装Python 2.7 + Pip2.7 157 | echo -e "\e[92m准备安装Python 2.7 + Pip2.7 请稍后... \e[0m" && sleep 2 158 | if [ $? -eq 0 ] ;then 159 | apt-get install python2.7 python2.7-dev -y >/dev/null 2>&1 && sleep 2 && apt-get install python-pip -y >/dev/null 2>&1 160 | if [ $? -eq 0 ] ;then 161 | python2.7 -m pip install --upgrade pip >/dev/null 2>&1 162 | if [ $? -eq 0 ] ;then 163 | pip2.7 install setuptools >/dev/null 2>&1 && pip2.7 install requests >/dev/null 2>&1 && pip2.7 install urllib3 >/dev/null 2>&1 164 | if [ $? -eq 0 ] ;then 165 | echo -e "\e[94mPython 2.7 + Pip2.7 已安装成功 ! \e[0m\n" 166 | sleep 2 && cd 167 | else 168 | echo -e "Python 2.7 + Pip2.7 安装失败 !" 169 | exit 170 | fi 171 | fi 172 | fi 173 | fi 174 | 175 | # 编译安装Python3.8 + Pip3.8 176 | echo -e "\e[92m准备安装Python3.8 + Pip3.8 请稍后... \e[0m" && sleep 2 177 | if [ $? -eq 0 ] ;then 178 | apt-get install build-essential libncursesw5-dev libgdbm-dev libc6-dev zlib1g-dev libsqlite3-dev tk-dev openssl libffi-dev -y >/dev/null 2>&1 179 | if [ $? -eq 0 ] ;then 180 | echo -e "\e[94m开始下载Python-3.8.3.tar.xz ! \e[0m" && sleep 2 181 | wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tar.xz >/dev/null 2>&1 182 | if [ $? -eq 0 ] ;then 183 | echo -e "\e[94mPython-3.8.3.tar.xz下载完成,准备编译安装,耗时较长,请耐心等待... \e[0m" 184 | tar xf Python-3.8.3.tar.xz && cd Python-3.8.3/ && ./configure --enable-optimizations >/dev/null 2>&1 && make>/dev/null 2>&1 && make install >/dev/null 2>&1 185 | if [ $? -eq 0 ] ;then 186 | echo -e "\e[94mPython-3.8.3 已编译安装成功 ! \e[0m" && sleep 2 187 | python3.8 -m pip install --upgrade pip >/dev/null 2>&1 188 | if [ $? -eq 0 ] ;then 189 | pip3.8 install wheel >/dev/null 2>&1 && pip3.8 install setuptools >/dev/null 2>&1 && pip3.8 install requests >/dev/null 2>&1 190 | if [ $? -eq 0 ] ;then 191 | echo -e "\e[94m常用Py3依赖安装成功 ! \e[0m\n" 192 | sleep 2 && cd && rm -fr Python-3.8.2* 193 | else 194 | echo -e "常用Py3依赖失败 !" 195 | exit 196 | fi 197 | else 198 | echo -e "Pip3.8 安装失败 !" 199 | exit 200 | fi 201 | else 202 | echo -e "Python 3.8.3 编译安装失败 !" 203 | exit 204 | fi 205 | else 206 | echo -e "Python-3.8.3.tar.xz 下载失败 !" 207 | exit 208 | fi 209 | fi 210 | fi 211 | 212 | # 安装配置Golang 1.14.2 213 | echo -e "\e[92m准备安装配置Golang 1.14.2 请稍后... \e[0m" && sleep 2 214 | wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz >/dev/null 2>&1 215 | if [ $? -eq 0 ] ;then 216 | echo -e "\e[94mgo1.14.2.linux-amd64.tar.gz下载完成 ! \e[0m" && sleep 2 217 | tar xf go1.14.2.linux-amd64.tar.gz && mv go /usr/local 218 | if [ $? -eq 0 ] ;then 219 | echo -e "export GOROOT=/usr/local/go\nexport GOPATH=~/work\nexport GOBIN=\$GOROOT/bin\nexport PATH=\$PATH:\$GOROOT/bin:\$GOBIN" >> /etc/profile && source /etc/profile 220 | if [ $? -eq 0 ] ;then 221 | go version >/dev/null 2>&1 && go env >/dev/null 2>&1 222 | if [ $? -eq 0 ] ;then 223 | echo -e "\e[94mGolang 1.14.2 已安装配置成功 ! \e[0m\n" 224 | sleep 2 && cd && rm -fr go* 225 | else 226 | echo -e "Golang 1.14.2 安装配置失败 !" 227 | exit 228 | fi 229 | fi 230 | fi 231 | fi 232 | 233 | echo -e "=========================================================================================================\n" 234 | 235 | echo -e "\e[92m准备安装各种常用小工具 ! \e[0m\n" && sleep 2 236 | 237 | # 编译安装最新版Masscan 238 | apt-get install git gcc make libpcap-dev clang -y >/dev/null 2>&1 239 | if [ $? -eq 0 ] ;then 240 | git clone --recursive https://github.com/robertdavidgraham/masscan.git >/dev/null 2>&1 241 | if [ $? -eq 0 ] ;then 242 | cd masscan/ && rm -fr .git* .t* && make >/dev/null 2>&1 && mv bin/masscan /usr/bin/ && cd && rm -fr masscan* 243 | if [ $? -eq 0 ] ;then 244 | echo -e "\e[94mMasscan 已编译安装成功 ! \e[0m" && sleep 2 245 | else 246 | echo -e "Masscan 编译安装失败 !" 247 | exit 248 | fi 249 | fi 250 | fi 251 | 252 | # 编译安装 Nmap [ 此处有条件的情况,最好还是不要直接从下载编译,可以把自己已经事先处理好的nmap(主要是各种扫描特征处理)传上去编译安装] 253 | apt-get install openssl libssh2-1-dev build-essential -y >/dev/null 2>&1 254 | if [ $? -eq 0 ] ;then 255 | wget https://nmap.org/dist/nmap-7.80.tar.bz2 >/dev/null 2>&1 256 | if [ $? -eq 0 ] ;then 257 | tar xf nmap-7.80.tar.bz2 && cd nmap-7.80 && rm -fr .git* .t* && chmod +x ./* && ./configure >/dev/null 2>&1 && make >/dev/null 2>&1 && make install >/dev/null 2>&1 258 | if [ $? -eq 0 ] ;then 259 | cd && rm -fr nmap* && nmap -h >/dev/null 2>&1 260 | echo -e "\e[94mNmap 已编译安装成功 ! \e[0m" && sleep 2 261 | else 262 | echo -e "Nmap 编译安装失败 !" 263 | exit 264 | fi 265 | else 266 | echo -e "nmap-7.80.tar.bz2 下载失败 !" 267 | exit 268 | fi 269 | fi 270 | 271 | 272 | # 编译安装最新版Medusa 273 | apt-get install build-essential libpq5 libpq-dev libssh2-1 libssh2-1-dev libgcrypt11-dev libgnutls28-dev libsvn-dev freerdp-x11 libfreerdp-dev -y >/dev/null 2>&1 274 | if [ $? -eq 0 ] ;then 275 | wget http://www.foofus.net/jmk/tools/medusa-2.2.tar.gz >/dev/null 2>&1 276 | if [ $? -eq 0 ] ;then 277 | tar xf medusa-2.2.tar.gz && cd medusa-2.2/ && rm -fr .git* .t* && ./configure >/dev/null 2>&1 && make >/dev/null 2>&1 && make install >/dev/null 2>&1 278 | if [ $? -eq 0 ] ;then 279 | echo -e "\e[94mMedusa 已编译安装成功 ! \e[0m" && sleep 2 280 | cd && rm -fr medusa* 281 | else 282 | echo -e "Medusa 编译安装失败 !" 283 | exit 284 | fi 285 | else 286 | echo -e "medusa-2.2.tar.gz 下载失败 !" 287 | exit 288 | fi 289 | fi 290 | 291 | # 编译安装最新版hydra 292 | apt-get install git libssh-dev libidn11-dev libpcre3-dev libgtk2.0-dev libmysqlclient-dev libpq-dev libsvn-dev firebird-dev libgcrypt11-dev libncurses5-dev -y >/dev/null 2>&1 293 | if [ $? -eq 0 ] ;then 294 | git clone --recursive https://github.com/vanhauser-thc/thc-hydra.git >/dev/null 2>&1 295 | if [ $? -eq 0 ] ;then 296 | cd thc-hydra && rm -fr .git* .t* && chmod +x ./* && ./configure >/dev/null 2>&1 && make >/dev/null 2>&1 && make install >/dev/null 2>&1 297 | if [ $? -eq 0 ] ;then 298 | echo -e "\e[94mhydra 已编译安装成功 ! \e[0m" && sleep 2 299 | cd && rm -fr thc-hydra* 300 | else 301 | echo -e "hydra 编译安装失败 !" 302 | exit 303 | fi 304 | fi 305 | fi 306 | 307 | # 下载OneForAll 308 | git clone --recursive https://github.com/shmilylty/OneForAll.git >/dev/null 2>&1 309 | if [ $? -eq 0 ] ;then 310 | cd OneForAll/ && rm -fr .git* .t* && python3.8 -m pip install -U pip setuptools >/dev/null 2>&1 && pip3 install -r requirements.txt >/dev/null 2>&1 311 | echo q | python3 oneforall.py -h >/dev/null 2>&1 312 | if [ $? -eq 0 ] ;then 313 | echo -e "\e[94mOneForAll 已安装成功 ! \e[0m" && sleep 2 && cd 314 | else 315 | echo -e "OneForAll 安装失败 !" 316 | exit 317 | fi 318 | fi 319 | 320 | # Sublist3r 安装成功 321 | git clone --recursive https://github.com/aboul3la/Sublist3r.git >/dev/null 2>&1 322 | if [ $? -eq 0 ] ;then 323 | cd Sublist3r/ && rm -fr .git* .t* && pip2.7 install -r requirements.txt >/dev/null 2>&1 && python sublist3r.py -h >/dev/null 2>&1 324 | if [ $? -eq 0 ] ;then 325 | echo -e "\e[94mSublist3r 已安装成功 ! \e[0m" && sleep 2 && cd 326 | else 327 | echo -e "Sublist3r 安装失败 !" 328 | exit 329 | fi 330 | fi 331 | 332 | 333 | # 下载 sqlmap 334 | git clone --recursive https://github.com/sqlmapproject/sqlmap.git >/dev/null 2>&1 335 | if [ $? -eq 0 ] ;then 336 | cd sqlmap/ && rm -fr .git* .t* && python sqlmap.py -hh >/dev/null 2>&1 337 | if [ $? -eq 0 ] ;then 338 | echo -e "\e[94mSQLmap 已安装成功 ! \e[0m" && sleep 2 && cd 339 | else 340 | echo -e "SQLmap 安装失败 !" 341 | exit 342 | fi 343 | fi 344 | 345 | # 下载 dirsearch 346 | git clone --recursive https://github.com/maurosoria/dirsearch.git >/dev/null 2>&1 347 | if [ $? -eq 0 ] ;then 348 | cd dirsearch && rm -fr .git* .t* && python3 dirsearch.py -h >/dev/null 2>&1 349 | if [ $? -eq 0 ] ;then 350 | echo -e "\e[94mdirsearch 已安装成功 ! \e[0m" && sleep 2 && cd 351 | else 352 | echo -e "dirsearch 安装失败 !" 353 | exit 354 | fi 355 | fi 356 | 357 | # 下载 theHarvester 358 | git clone --recursive https://github.com/laramies/theHarvester.git >/dev/null 2>&1 359 | if [ $? -eq 0 ] ;then 360 | cd theHarvester && rm -fr .git* .t* && python3 -m pip install -r requirements/base.txt >/dev/null 2>&1 && python3 theHarvester.py -h >/dev/null 2>&1 361 | if [ $? -eq 0 ] ;then 362 | echo -e "\e[94mtheHarvester 已安装成功 ! \e[0m" && sleep 2 && cd 363 | else 364 | echo -e "theHarvester 安装失败 !" 365 | exit 366 | fi 367 | fi 368 | 369 | # 下载 wafw00f 370 | git clone --recursive https://github.com/EnableSecurity/wafw00f.git >/dev/null 2>&1 371 | if [ $? -eq 0 ] ;then 372 | cd wafw00f/ && rm -fr .git* .t* && python2.7 setup.py install >/dev/null 2>&1 && wafw00f -h >/dev/null 2>&1 373 | if [ $? -eq 0 ] ;then 374 | echo -e "\e[94mwafw00f 已安装成功 ! \e[0m\n" && sleep 2 && cd && rm -fr wafw00f 375 | else 376 | echo -e "wafw00f 安装失败 !" 377 | exit 378 | fi 379 | fi 380 | 381 | echo -e "=========================================================================================================\n" 382 | # 清除所有操作记录,方便日后快速排查问题 383 | history -c –w && > .bash_history && cat /dev/null > /var/log/wtmp && cat /dev/null > /var/log/btmp && cat /dev/null > /var/log/lastlog && cat /dev/null > /var/log/auth.log 384 | if [ $? -eq 0 ] ;then 385 | echo -e "\e[92m基础 VPS 环境现已全部部署完毕,玩的愉快 ! \e[0m\n" && sleep 2 && cd 386 | fi 387 | 388 | # 安装破解AWVS 13 [可选] 389 | # apt-get install libxdamage1 libgtk-3-0 libasound2 libnss3 libxss1 -y >/dev/null 2>&1 390 | # if [ $? -eq 0 ] ;then 391 | # 7z x Acunetix_13.0.200217097_x64_Linux.7z && cd Acunetix_13.0.200217097_x64_Linux/ && chmod +x acunetix_13.0.200217097_x64_.sh && ./acunetix_13.0.200217097_x64_.sh && cp wvsc /home/acunetix/.acunetix/v_200217097/scanner/ && cp license_info.json /home/acunetix/.acunetix/data/license/ 392 | # if [ $? -eq 0 ] ;then 393 | # systemctl restart acunetix.service 394 | # if [ $? -eq 0 ] ;then 395 | # echo -e "\e[94mAWVS 13 破解安装成功 ! \e[0m" && sleep 2 && cd 396 | # fi 397 | # fi 398 | # fi 399 | 400 | 401 | -------------------------------------------------------------------------------- /VPS_Install.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzz-security/VpsEnvInstall/d5efe5d327addaa087465fe808909258af6fcf3e/VPS_Install.png -------------------------------------------------------------------------------- /VPS_Install2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/fuzz-security/VpsEnvInstall/d5efe5d327addaa087465fe808909258af6fcf3e/VPS_Install2.png --------------------------------------------------------------------------------