Netcat, Reverse Shell ve Osql Sorunları

18-11-2007

Geçen günlerde bir sistemde SQL Injection üzerinden reverse shell' e erişmiş çalışırken, SQL Server veritabanlarına erişmem gerekti. Bende konsoldan en basit şekilde erişim için osql.exe kullanmaya karar verdim. Reverse shell' in iki tarafında da netcat vardı.

Plan gayet klasikken, osql ile bir türlü veritabanına bağlanamadım. Aşağıdaki gibi bir kaç komut denedim :

osql.exe -E
osql.exe -E -S (local)

Ancak bir türlü çalışmadılar ve her seferinde shell' i düşürüp yeni bir tane almam gerekti. Önce bir şekilde SQL Server bağlantısının zaman aşımına uğradığını sandıysam da şunu yapmam ile olayı çözdüm:

osql.exe -E -Q "!! dir c:\"

Sorun barizdi. Osql interaktif bir konsol uygulaması ve bir şekilde netcat osql' in interaktif modu ile iyi anlaşmıyor. Normalde netcat FTP.exe gibi interaktif araçlarla çalışıyor. İşin altındaki yegane teknik nedeni henüz tam anlayabilmiş değilim, ama sanırım osql standard input ve output harici başka numaralar çeviriyor.

Özetle bir ders daha öğrenilmiş oldu. Bu testte benim tekrar tekrar reverse shell alma ihtimalim vardı ancak bazı exploitlerde sadece bir defa reverse shell' e erişebilirsiniz ve eğer onu bu şekilde batırırsanız, sonradan çok üzülürsünüz.

Recent Blog Posts

See all of the blog posts