воскресенье, 10 мая 2020 г.

Let's make OS Fingerprinting great again!

Hi fellas! Lately i released a new version of Intercepter-NG for Android and today i want to discuss one of it's features.

For years, even in original Windows version, Intercepter has used a simple method to detect and distinguish one OS from another. First, it checked the value of TTL by sending ICMP requests and whether there was at least one open TCP port it checked both TTL + TCP Window Size.

That way i was able to get these results:

  • Linux 2.4.x\2.6.x
  • Linux 3.x\Android
  • FreeBSD\MacOS X
  • FreeBSD
  • OpenBSD
  • HP-UX
  • Windows 2000\XP SP2
  • Windows XP
  • Windows 2003
  • Windows 7\8\10
  • Cisco IOS
  • Solaris

Although this list is extremely short, it's better than nothing...

What comes to your mind when you hear 'OS detection'? Right, nmap...but it means that you need to be able to connect to the host you are interested in and spend some time analyzing it.

What if you only have a network capture? Passive OS fingerprinting you'd say...yes, we have Satori and p0f.

Satori and it's database is the only 'up to date' tool and i decided to include it in Intercepter, but the problem arose shortly after i looked deeper on it. It contains many identical TCP fingerprints for different systems - which is good and useful in general. But somehow i have to pick only one result and print it during the network scan.

Satori, p0f and other passive OS fingerprinting tools were intended to work with captures or live traffic from any kind of network, so MAC address was never considered.
In my case, Intercepter works only in ethernet area with direct access to a network devices with unique MAC addresses.

Now, the main idea is to add the first 3 bytes of a known device's MAC to it's TCP SYN\ACK fingerprint and voila! a common linux fingerprint turns into something unique:

C8D3A3;5792:64:1:60:M1460,S,T,N,W1:ZAT=Linux 2.4 ; D-Link DSL-2740U
F81A67;5792:64:1:60:M1460,S,T,N,W1:ZAT=Linux 2.6 ; TP-Link WR842ND
CC5D4E;5792:64:1:60:M1460,S,T,N,W1:ZAT=Linux 2.6 ; ZYXEL Keenetic Giga
8CEA1B;5792:64:1:60:M1460,S,T,N,W1:ZAT=Edge-Core ECS2100 ; Switch

Or a common fingerprint for Android turns into:

F8C39E;65535:64:1:60:M1460,S,T,N,W8:ZAT=Android 9 ; Honor 9 Lite
2047DA;65535:64:1:60:M1460,S,T,N,W8:ZAT=Android 9 ; Xiaomi Redmi Note 5
08CC27;65535:64:1:60:M1460,S,T,N,W8:ZAT=Android 9 ; Motorola E6 Plus
8C3AE3;65535:64:1:60:M1460,S,T,N,W8:ZAT=Android 5 ; LG G2

That way we are able to detect the exact model of a device! Using fingerprints of that type Intercepter can detect a lot of devices just in a few seconds. All we need is to collect as many fingerprints as possible. I didn't want to create a new format, that's why i picked the one from Satori, it's nice and clear, and so, with minor changes the database of Intercepter is suitable for Satori too. There are also generic fingerprints such as:

000000;8192:128:1:60:M1460,N,W8,S,T:AT=Windows 7 / 8 / 2008 / 2012 / 2016 ;


000000;65535:64:1:60:M1460,S,T,N,W8:ZAT=Android 5-10+ ;

Intercepter uses them in case it hasn't found the exact value by MAC.

There are 4 ways to gather fingerprints:

1. Built-in button in Android version of Intercepter.
It generates the fingerprint of your own device. Just make sure MAC randomization is turned off.

2. New X-Scan mode shows the fingerprint of a remote device. It needs at least one open TCP port.

3. All unknown fingerprints appear during the network scan as extra info.

4. I've updated the original Intercepter-NG to 1.0+ version. It shows fingerprints for every device on the network - much easier to collect a lot of records.

You've seen some examples above, so if you want to help me, collect fingerprints and set the 'OS version' and\or 'Device model' and mail them to me - intercepter.mail@gmail.com.
For common computers and notebooks only OS information is interesting.

Your help will be useful not only for Intercepter or Satori, but for the other tools such as NetworkMiner. Contribute or die!

Site: sniff.su
Mail: intercepter.mail@gmail.com
Twitter: twitter.com/IntercepterNG
Forum: intercepterng.boards.net
Blog: intercepter-ng.blogspot.ru

Changelog for 2.6:
+ Automatical Save&Restore of routing rules and iptables
+ Preloaded results of the last scan + prescan on startup
+ Text resize by gestures, tab switch by swipes, vibro reactions
+ OS Fingerprinting system based on Satori format
+ Port Scan upgraded to X-Scan with EternalBlue checker
+ Scanning engine is greatly improved
+ HSTS Spoofing with improved sslstrip
+ Self-diagnosis for troubleshooting
+ LOTS of other fixes and improvements
* UI updated
* No more SuperSU and Busybox dependencies -> Magisk
* Android support from 4.4 up to 10+ (x86, ARM, ARMv8)

четверг, 16 февраля 2017 г.

Intercepter-NG 1.0 Anniversary Edition

I almost forgot to introduce the new version to the foreign audience, so i going to fix it right now, after a few months. Before you read the latest news of the project i want to summarize some facts you obviously didn't know about Intercepter-NG. It's the first app ever that has:

1. Native and fully functional implementation of SSLStrip for Windows.

2. Automated MiTM attack on SSH2 protocol.

3. Fully functional implementation of a Group Policy Hijacking technique.

4. SMB Hijacking technique and first SMBRelay on NTLMv2.

5. DNS over ICMP MiTM or 'full-duplex icmp redirect' attack.

6. Half-automated ability to sniff valuable information from iOS devices by means of combining different techniques.

7. Powerful and stable LDAP Relay technique.

8. MySQL LOAD DATA Injection technique.


At last, after ten years of development (yes, this is the project’s age) Intercepter-NG version index reached 1.0. According to a well-established tradition, Windows updates are released once a year and this anniversary release proved to be very successful. I want to thank everyone who assisted me in testing, provided thorough feedback and creatively inspired the project throughout these years.
Let’s start this review with some minor features saving the best for last.

1. Export of selected packets to a .pcap file is added to the RAW Mode. With the Autosave function turned on the packets containing authorization data will be recorded into an individual .pcap file.

2. You can now type several port numbers divided by commas into the Extra SSL Ports field referred to in SSL MiTM.

3. When applying the LDAP Relay attack on a domain controller that utilizes a language other than English, you can manually indicate the required group for adding a user in the expert settings. For example, instead of Domain Admins you can enter its Russian counterpart Администраторы домена.

4. The bug that didn’t allow bruteforcing up the password correctly in some NTLMv2SSP hashes is fixed.

5. Multiple improvements of the Bruteforce Mode. Added: SSL for HTTP support, UTF8 support for bruteforcing LDAP. Also added: VNC, Vmware Auth Daemon and RDP protocols. RDP bruteforce now functions on Windows 7/8/2008/2012. NLA and logins/passwords in any language are supported. RDP Security Layer is not supported.

6. Multiple general improvements and changes. Spoofing is now turned off by default.


The FATE mode contains two new functions: FAke siTE and FAke updaTE.
The main purpose of FAke siTE is to obtain authorization data from any web-resource bypassing SSL and other defense mechanisms. It is achieved by means of authorization page cloning and creation of a template to be stored on an embedded pseudo web-server. You can see the workflow on a video at the end of this post. By default, one template for accounts.google.com is included into the Intercepter, because the original page requires filling in firstly the login and then the password. The template however has some minor changes in order to make both fields active simultaneously. Prior to the attack, it is necessary to indicate the domain for the template to be stored. When the attack is commenced a redirect to the selected domain is injected into the victim’s traffic and afterwards the Intercepter automatically executes DNS spoofing to the target addresses. Example site cloning routine for mail.yandex.ru is shown in the video.

Linux fans are familiar with the Evilgrade tool that allows exploiting automatic update mechanism and inject arbitrary payload. Actually, this vector is highly overestimated. First of all, the imposing list of applications supported by the Evilgrade is for the most part out of date. Secondly, a vast majority of the most popular applications check updates using safe routines. Nevertheless, we all heard of infamous flaws in update mechanisms of software produced by large vendors. Probably such things will happen in future as well. Hence the addition of an Evilgrade equivalent to Intercepter-NG. The list of supported software is fairly limited. If required, one’s own templates can be added. You can see their structure in mics\FATE\updates. Please, send me example software that updates openly, we’ll jointly enlarge the database.


I used to like a network security scanner ‘X-Scan’ developed by a Chinese team Xfocus. It is lightweight, it has a friendly interface and a good functionality. In the middle of the 2000’s it allowed doing lots of things, but then its development stopped and nowadays it is not very useful. This is why I wanted to create its contemporary equivalent, but it just didn’t work out… until recently. Paying respect to the original software the network scanner appears in Intercepter-NG under the same name. 

The scanner is a replacement for the primitive port scanner from previous versions. Let’s see what it is capable of.

1. Scan open ports and determine heuristically the following protocols: SSH, Telnet, HTTP\Proxy, Socks4\5, VNC, RDP.

2. Determine the presence of SSL on an open port, read banners and different web headers.

3. Upon finding a proxy or a SOCKS check if they are open outwards.

4. Check access to VNC servers without password, check SSL for HeartBleed bug. Read DNS version.bind.

5. Check availability of potentially vulnerable to ShellShock scripts on a web-server according to the base. Check a list of directories and files for 200 OK and the list of directories from robots.txt according to the base.

6. Determine OS version through SMB. Obtain local time, uptime and the list of common resources and local users if anonymous access is allowed. Automatic passwords bruteforce is launched for the identified users.

7. Determine SSH users according to the embedded list by analyzing response time. Automatic passwords bruteforce is launched for the identified users. If the enumeration didn’t find any (the enumeration doesn’t function on every version) the bruteforce launches only for the root.

8. Automatic bruteforce for HTTP Basic and Telnet. False alarms are possible because of telnet protocol features.

It is possible to scan any targets in local networks as well as the Internet. You can enter a list of ports for scanning:,443 or a range: It is also possible to enter an address range for scanning:

In order to obtain more accurate results only three hosts can be scanned at the same time. Verifications for data from SSL certificates were added literally in the last minute. For example, if the word Ubiquiti is encountered and the port 22 is open bruteforce of SSH user ubnt launches automatically. The same applies for a pair of Zyxel hardware with a user ‘admin’. 

For the first release of the scanner, its features are sufficient and they are fine-tuned pretty well. Send me your ideas and suggestions.

четверг, 1 сентября 2016 г.

Нежданчик от Google или *охлосрач

С днем знаний! Давненько я не графоманил, но сложившаяся ситуация вынуждает оторваться от кодинга и потоптать клавиши. На сей раз коснемся темы разработки приложений для мобильных платформ и дурацком положении, в котором оказывается разработчик. Пост будет гневный, поэтому моралфаги и прочие хейтеры прямиком goto naxuy;

Вчерашний вечер был неприятно скрашен гугловским сообщением о том, что мой аккаунт разработчика Google Play заблокирован. Большие буквы объясняли причину блокировки: Violation of the Hate Speech policy.

И я бы не так сильно удивился, если бы причина была в ругательствах и грубых ответах на комментарии, что есть, то есть. Но смысл, который гугл вкладывает в понятие Hate speech, меня весьма удивил:

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

Почесав затылок, не смог вспомнить чтобы я пидарасил гомосеков, "дискриминировал" негров, даже арабам, с их своеобразной манерой составлять комментарии, слова плохого не сказал. Поднасрал, как это часто бывает, "сосед". Одну или две недели назад, гарный хлопец на украинской мове глубокомысленно постановил, что дескать софт гавно и афтар мудак. В ответ ему было предложено съесть шмат сала, спеть гимн и вволю поскакать. За это я был назван страшным словом "украинофоб". Полагаю, что именно этот комментарий стал причиной блокировки. Т.е. какой-то гребаный хохол вот так взял и насрал, а какой-то пидр сотрудник из толерантного говногугла увидев страшное слово кончающееся на *фоб тут же возбудился и восстановил справедливость, заблокировав ахуевшего разраба.

Хочу заметить, что нелюбовь к долбоебам у меня действительно присутствует, и "хохол" это всего лишь мягкий синоним долбоеба применительно к украинцу. К нормальным украинцам у меня совершенно нормальное отношение и никакой этнической ненависти я ни к кому не испытываю. Из этого следует, что аккаунт заблокирован несправедливо. Повторюсь еще раз, если бы заблокировали за ругань и оскорбления - я бы слова не сказал, ибо грешен и не скрываю.

Теперь о том, почему я позволяю себе грубые высказывания. Вроде как не принято хуесосить клиентов, потому что для большинства разработчиков это потенциальные покупатели и источники дохода, даже если само приложение бесплатное и всего лишь содержит рекламные вставки. Естественно, находясь в таких рамках приходится проглатывать весь негатив и вежливо отвечать самому последнему уебану, поддерживая так называемый customer service. В моем случае никакой выгоды от этих людей нет, софт бесплатен, рекламу не показывает. Поэтому могу себе позволить ответить грубостью на грубость или подчеркнуть лень и нежелание человека прочитать инструкцию.

Для тех кто читает этот текст и не знает о каком вообще приложении идет речь напомню: Intercepter-NG - многофункциональный сетевой инструмент, весьма требовательный к знаниям и навыкам человека, который собирается его использовать корректно, а не вслепую, как это делают школьники. Именно поэтому есть вполне определенный входной порог. Далее, я трачу огромное количество личного времени на разработку и отладку, особенно это касается основной Windows версии. Я искренне считаю, что человек, не обладающий нужной технической подготовкой не имеет никакого морального права ставить оценки и писать хуету вроде:
- "не работает"
- "черный экран"
- "что такое root"
и так далее.

Какого хрена любая домохозяйка может зайти и поставить низшую оценку софту по той лишь причине, что она ожидала чего-то другого? Даже в сложившейся ситуации рейтинг приложения держался на уровне 4.2, что очень и очень неплохо (разработчики подтвердят).

По большому счету Google Play был лишь удобной площадкой для распространения Intercepter-NG под андроид. Рейтинг, статистика закачек (совсем чуть чуть оставалось до 1млн) и прочее были приятным фетишем, особенно учитывая тот факт, что все аналогичные "security" приложения давным давно были выпилены из гугла. В плане обратной связи GP был практически бесполезным. На сегодняшний день основной фидбек и помощь в отладке осуществляется силами комьюнити 4pda. Скорее всего этот ресурс и станет в дальнейшем основным местом расположения и поддержки Intercepter-NG [Android Edition], т.к. я уже несколько лет веду поддержку именно там. Пользуясь случаем хочу передать привет пользователям 4pda, которые оказали неоценимую помощь при разработке последних версий.

Пока писал, гнев и мысли поубавились, а стало быть пора закругляться. Уже совсем скоро выйдет новый Intercepter-NG с очень интересным функционалом, а примерно через месяц выйдет обновленный цептер под андроид, но уже не в GP...
Всем позитива и добра, негатив goto naxuy;

понедельник, 4 апреля 2016 г.

Group Policy Hijacking and LDAP Relay. New PDFs.

I've just finished writing two small articles about LDAP Relay and Group Policy Hijacking that i described some time ago in russian. Both techniques are not new but i bet a lot of researchers and security guys do not have a clue about them. It is worth mentioning that these techniques are already fully implemented in Intercepter-NG. They allow you to obtain access in the domain network in an absolutely different way.


LDAP Relay. NTLM Strikes back again.

Group Policy Hijacking.

пятница, 4 сентября 2015 г.

О наболевшем

Давно назрело написать подобный пост. Дело в том, что очень часто обращаются за помощью люди, откровенно незнакомые с предметом. Начинают рассказывать свои слезные истории о том, как они ВСЕ ДЕЛАЮТ ПРАВИЛЬНО (КАК НА ВИДЕО), но по каким-то НЕПОНЯТНЫМ причинам НИЧЕГО не работает.

Практически всегда, на 99% писем, я честно отвечаю посильным образом. С удовольствием отвечаю на грамотно составленные вопросы, когда человек понимает предмет, но не до конца понимает нюансы использования приложения. Иногда даже пытаюсь объяснить какие-то элементарные вещи в сетевых технологиях, но давайте говорить на чистоту - я занимаюсь поддержкой проекта Intercepter-NG, но я не занимаюсь образованием и обучением пользователей! Я один - а вас 100-500. Если вы "ни бум-бум", то я вам не помощник. Повторюсь в который раз: визуальная простота использования Intercepter-NG обманчива! Он работает как часы в умелых руках, но это не значит, что слепое повторение действий обязательно приведет к желанному результату. Уважайте время и труд других людей, занимайтесь самообразованием и тогда все сложится так как надо.

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

четверг, 6 августа 2015 г.

Intercepter-NG on Bsides Las Vegas

One more demo of Intercepter-NG [Android Edition], this time on BSides conf in Las Vegas.

Starting from 33 minute:

"so easy to use, super simple tool, very effective to essentially hijack session tokens".

Sometimes i start to hate android version of Intercepter-NG, since it shades out the original version which is 1000 times more powerful.